@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.discount{font-weight:700;color:#8a5b15!important}.price-editor{min-width:180px}.price-editor>span{align-items:center;gap:5px;margin-top:3px;flex-direction:row!important;display:flex!important}.price-editor input{border:1px solid #d7dee8;border-radius:6px;width:92px;padding:6px 7px;font-size:10px}.price-editor button{color:#245d9f;background:#f7faff;border:1px solid #cbd6e3;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:700}.price-editor button:hover{background:#eaf2fb}:root{--ink:#182438;--muted:#738094;--line:#e4e9ef;--navy:#102a43;--blue:#2461ad;--canvas:#f4f6f9;--red:#c64a42;--green:#19785a}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}main{min-height:100vh}aside{background:var(--navy);color:#fff;z-index:10;flex-direction:column;width:238px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{color:#fff;text-align:left;background:0 0;border:0;place-items:center;padding:0 9px 24px;display:grid}.brand-logo{aspect-ratio:468/443;background:#fbfad6 url(/perkhaven-logo.png) 50%/contain no-repeat;border-radius:12px;width:148px;display:block;box-shadow:0 7px 20px #071a2b55}.brand strong,.brand small{display:block}.brand strong{letter-spacing:1.5px;font:700 17px Georgia}.brand small,.admin small{color:#a7b7c7;margin-top:4px;font-size:10px}aside nav{flex-direction:column;gap:5px;display:flex}aside nav button{color:#bdc8d4;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;height:44px;padding:0 14px;font-weight:700;display:flex}aside nav button i{text-align:center;width:22px;font-size:20px;font-style:normal}aside nav button.active,aside nav button:hover{color:#fff;background:#27465f}aside nav em{color:#172a3d;background:#efa64c;border-radius:15px;margin-left:auto;padding:2px 7px;font-size:10px;font-style:normal}.admin{border-top:1px solid #29465e;align-items:center;gap:10px;margin-top:auto;padding:18px 8px 0;display:flex}.admin>i,.autofill i{color:#235a91;background:#dbe7f3;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-style:normal;font-weight:700;display:grid}.admin b,.admin small{font-size:11px;display:block}.workspace{margin-left:238px}.student-self-service{background:#f3f6f9;min-height:100vh}.student-self-service .limited-content{width:calc(100% - 48px);max-width:none}.student-portal-hero{color:#fff;background:linear-gradient(120deg,#102a43,#244e70);border-radius:14px;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px;display:grid;box-shadow:0 10px 30px #102a4320}.student-self-service .student-portal-hero{z-index:30;position:sticky;top:78px}.student-portal-hero h1{margin:5px 0 10px;font:700 28px Georgia,serif}.student-portal-hero .tag{color:#b9cce0}.student-portal-hero .profile-photo{width:78px;height:78px}.student-hero-identity{min-width:0}.student-hero-facts{gap:34px;margin:11px 0 12px;display:flex}.student-hero-facts span{gap:7px;min-width:110px;display:grid}.student-hero-facts small{color:#b9cce0;letter-spacing:1px;font-size:9px}.student-hero-actions{align-items:center;gap:10px;display:flex}.student-hero-actions button{color:#fff;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff6b;border-radius:8px;min-height:42px;padding:10px 16px;font-weight:800}.student-hero-actions button:first-child{color:#174f8e;background:#fff}.student-hero-actions button:hover{transform:translateY(-1px);box-shadow:0 5px 14px #00000029}.student-action-modal{width:min(920px,96vw)}.student-action-modal-body{padding:24px}.student-action-modal-body .section-action{display:none}.vacating-notice-body{gap:18px;padding:24px;display:grid}.notice-rule{color:#704e0d;background:#fff8df;border:1px solid #e7c771;border-left:5px solid #d69216;border-radius:9px;padding:16px 18px}.notice-rule p,.existing-notice p{margin:6px 0 0;line-height:1.5}.notice-date-summary{grid-template-columns:1fr 1fr;gap:12px;display:grid}.notice-date-summary span{background:#f1f6fb;border-radius:8px;gap:6px;padding:14px;display:grid}.notice-date-summary small{color:#718197;letter-spacing:.08em;font-size:9px}.vacating-notice-body>label{color:#344b60;gap:7px;font-weight:700;display:grid}.vacating-notice-body input{border:1px solid #c9d5e1;border-radius:8px;padding:11px 12px}.existing-notice{color:#176647;background:#e7f4ed;border-radius:8px;padding:15px 17px}.student-modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.student-modal-actions button{background:#fff;border:1px solid #ccd6e0;border-radius:7px;padding:10px 17px}.student-modal-actions .primary{background:var(--blue);color:#fff;border-color:var(--blue)}.invoice-number-button{color:#155da8;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.invoice-preview-modal{grid-template-rows:auto 1fr auto;width:min(980px,96vw);height:min(92vh,860px);display:grid;overflow:hidden}.invoice-preview-modal iframe{background:#eef2f6;border:0;width:100%;height:100%}.invoice-preview-modal>footer{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.invoice-preview-modal>footer button,.invoice-preview-modal>footer .document-download-button{background:#fff;border:1px solid #cbd6e1;border-radius:7px;padding:10px 16px;text-decoration:none}.invoice-preview-modal>footer .primary{background:var(--blue);border-color:var(--blue);color:#fff}.invoice-loading{color:var(--muted);place-items:center;font-weight:700;display:grid}.student-portal-tabs{background:#e6ebf1;border-radius:10px;gap:4px;width:max-content;max-width:100%;margin:18px 0;padding:5px;display:flex;overflow-x:auto}.student-portal-tabs button{color:#526276;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:10px 15px;font-weight:700}.student-portal-tabs button.active{color:#174f8e;background:#fff;box-shadow:0 2px 7px #102a4314}.student-portal-panel{padding:24px}.section-action{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.section-action h2{margin:3px 0 0}.section-action p:not(.tag){color:var(--muted);margin:6px 0 0}.portal-message{color:#176647;background:#e5f3ec;border:1px solid #bddfcf;border-radius:8px;padding:11px 14px;font-weight:700}.profile-request-form{background:#fff;border-radius:14px;width:min(920px,100vw - 30px);max-height:92vh;overflow:auto}.profile-request-form>header,.profile-request-form>footer{z-index:2;background:#fff;position:sticky}.profile-request-form>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 26px;display:flex;top:0}.profile-request-form>header h2{margin:5px 0}.profile-request-form>header p{color:var(--muted);margin:4px 0}.profile-request-form>header>button{border:0;border-radius:50%;width:34px;height:34px;font-size:20px}.profile-request-form .formgrid{padding:24px 26px}.profile-request-form>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 26px;display:flex;bottom:0}.request-history{gap:10px;margin-top:18px;display:grid}.request-history article{border:1px solid var(--line);border-radius:9px;padding:14px}.request-history article>div{justify-content:space-between;align-items:center;display:flex}.request-history article small{color:var(--muted);margin-top:7px;display:block}.request-number{color:#0753a4;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.request-detail-modal{width:min(820px,100vw - 30px);max-height:88vh;overflow:auto}.request-change-list{background:var(--line);gap:1px;padding:22px;display:grid}.request-change-head,.request-change-row{grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(180px,1fr);gap:1px;display:grid}.request-change-head span{color:var(--muted);letter-spacing:.08em;background:#e9eff6;padding:10px 12px;font-size:11px;font-weight:800}.request-change-row>*{overflow-wrap:anywhere;background:#fff;margin:0;padding:12px}.request-change-row>span:last-child{color:#075c3b;background:#eef8f2;font-weight:700}.request-admin-note{background:#fff7df;border-radius:8px;margin:18px 22px 0;padding:12px}@media (max-width:650px){.request-change-head{display:none}.request-change-row{grid-template-columns:1fr}.request-change-row>span:before{color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:800;display:block}.request-change-row>span:nth-child(2):before{content:"BEFORE"}.request-change-row>span:nth-child(3):before{content:"REQUESTED CHANGE"}}.request-count{color:#84520b;background:#fff1d9;border-radius:18px;padding:8px 13px;font-weight:800}.review-access-note{color:#405870;background:#f3f7fb;border:1px solid #d5e0ea;border-left:4px solid #52779a;border-radius:8px;margin:0 0 18px;padding:12px 15px}.request-admin-list{gap:16px;display:grid}.request-admin{width:min(680px,100%);margin-right:auto}.request-admin-list>article{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.request-admin-list>article>header{background:#f8fafc;justify-content:space-between;padding:16px 18px;display:flex}.request-admin-list>article>header small{color:var(--muted);margin-top:5px;display:block}.request-admin-list table{border-collapse:collapse;width:100%}.request-admin-list th,.request-admin-list td{text-align:left;border-top:1px solid var(--line);padding:11px 18px}.request-admin-list th{letter-spacing:1px;color:#6c7b8e;font-size:9px}.request-admin-list footer{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;gap:9px;padding:14px 18px;display:grid}.request-admin-list footer input{border:1px solid #ccd5df;border-radius:7px;padding:10px}.reject-button{color:#a53731;background:#fff6f5;border:1px solid #dda29e;border-radius:7px;padding:9px 14px;font-weight:700}.request-meta{color:var(--muted);border-top:1px solid var(--line);background:#f8fafc;justify-content:space-between;gap:12px;padding:10px 18px;font-size:10px;display:flex}.admin-decision-note{border-top:1px solid var(--line);margin:0;padding:13px 18px}.empty-state{text-align:center;color:var(--muted);border:1px dashed #cbd5e1;border-radius:9px;padding:30px}.student-payment-highlight{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.student-payment-highlight>span{border:1px solid #cfe0ef;border-left:4px solid var(--blue);background:#f5f9fd;border-radius:9px;gap:6px;padding:15px;display:grid}.student-payment-highlight>span.overdue{background:#fff7f6;border-color:#efc4c0 #efc4c0 #efc4c0 #c84e45}.student-payment-highlight>span.clear{background:#f4fbf8;border-color:#bfe2d4 #bfe2d4 #bfe2d4 #187757}.student-payment-highlight small,.evidence-upload-card small,.petty-balance-mini small{letter-spacing:1px;color:var(--muted);font-size:9px;font-weight:800}.student-payment-highlight b{font-size:18px}.student-payment-highlight em{color:var(--muted);font-size:11px;font-style:normal}.invoice-table{border-collapse:collapse;width:100%}.invoice-table th,.invoice-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px}.invoice-table th{color:#6b7b8d;letter-spacing:1px;background:#f7f9fb;font-size:9px}.invoice-table td small{color:var(--muted);margin-top:4px;display:block}.invoice-status{background:#eaf0f6;border-radius:14px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-block}.invoice-status.paid{color:#176647;background:#e2f4eb}.invoice-status.issued,.invoice-status.partially-paid{color:#87520b;background:#fff0d6}.invoice-status.cancelled{color:#9b3e38;background:#f5e6e5}.primary.compact{min-height:auto;padding:7px 11px}.evidence-upload-card{background:#f8fbfe;border:1px solid #d5e0eb;border-radius:12px;grid-template-columns:1fr 1fr;gap:16px;padding:20px;display:grid}.evidence-upload-card>div{gap:6px;display:grid}.evidence-upload-card>div b{font-size:18px}.evidence-upload-card>div span{color:var(--muted);font-size:11px}.evidence-upload-card label{color:#536174;gap:7px;font-size:11px;font-weight:700;display:grid}.evidence-upload-card textarea{resize:vertical;border:1px solid #ccd7e2;border-radius:7px;padding:10px}.evidence-upload-card .payment-mode-choice{background:#fff;border:1px solid #ccd7e2;border-radius:9px;grid-column:1/-1;gap:12px;margin:0;padding:12px 14px;display:flex}.evidence-upload-card .payment-mode-choice legend{color:#536174;padding:0 6px;font-size:11px;font-weight:800}.evidence-upload-card .payment-mode-choice label{cursor:pointer;background:#f8fbfe;border:1px solid #d5e0eb;border-radius:8px;align-items:center;gap:8px;padding:9px 14px;display:flex}.evidence-upload-card .payment-mode-choice input{width:auto}.evidence-upload-card input[readonly]{color:#173651;background:#eef4fa;font-weight:800}.payment-log-export{background:#f8fbfe;border:1px solid #d5e0eb;border-radius:10px;flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0;padding:14px 16px;display:flex}.payment-log-export>div{gap:3px;margin-right:auto;display:grid}.payment-log-export small{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:800}.payment-log-export label{color:#536174;gap:5px;font-size:10px;font-weight:700;display:grid}.payment-log-export select,.payment-log-export input{color:#173651;background:#fff;border:1px solid #ccd7e2;border-radius:7px;min-height:36px;padding:7px 9px}.student-portal-hero .profile-photo{cursor:pointer;position:relative;overflow:visible}.student-portal-hero .profile-photo:after{content:"Change photo";white-space:nowrap;color:#1457a0;background:#fff;border-radius:12px;padding:4px 8px;font-size:9px;font-weight:800;position:absolute;bottom:-10px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #001b3326}.student-portal-hero .profile-photo:focus-visible{outline-offset:4px;outline:3px solid #f3a33b}.evidence-upload-card .form-error,.evidence-upload-card>button{grid-column:1/-1}.evidence-history-title{margin-top:28px}.evidence-review-actions{grid-template-columns:1fr 1fr;gap:6px;min-width:210px;display:grid}.evidence-review-actions input{border:1px solid #ccd7e2;border-radius:6px;grid-column:1/-1;padding:7px}.evidence-ledger td{vertical-align:top}.petty-log-actions{align-items:center;gap:15px;display:flex}.petty-balance-mini{text-align:right;gap:5px;display:grid}.petty-balance-mini b{font-size:18px}.warden-petty-log{margin-top:18px}@media (max-width:760px){.student-portal-hero{grid-template-columns:70px 1fr}.student-hero-actions{grid-column:1/-1;width:100%}.student-hero-actions button{flex:1}.section-action{flex-direction:column;align-items:flex-start}.request-admin-list footer{grid-template-columns:1fr 1fr}.request-admin-list footer input{grid-column:1/-1}.request-meta{flex-direction:column}.student-payment-highlight,.evidence-upload-card{grid-template-columns:1fr}.evidence-upload-card .form-error,.evidence-upload-card>button{grid-column:1}.petty-log-actions{flex-direction:column;align-items:stretch}.notice-date-summary{grid-template-columns:1fr}}.workspace>header{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:105px;padding:24px 34px;display:flex;position:sticky;top:0;box-shadow:0 4px 14px #102a430f}.workspace>header p,.tag{letter-spacing:1.3px;color:#8491a2;margin:0 0 6px;font-size:9px;font-weight:800}.workspace h1,.panel h2,.title h2,.soon h2,.modal h2,.profile h2{font-family:Georgia,serif}.workspace h1{margin:0;font-size:25px}.bank-header-summary{grid-template-columns:repeat(3,minmax(82px,1fr)) minmax(145px,1.35fr) minmax(150px,auto);gap:7px;width:min(860px,100% - 245px);margin-left:auto;display:grid}.bank-header-summary>span{background:#f8fafc;border:1px solid #dbe4ed;border-radius:7px;gap:3px;min-width:0;padding:8px 10px;display:grid}.bank-header-summary small{color:#758397;letter-spacing:.55px;white-space:nowrap;font-size:7px;font-weight:900}.bank-header-summary b{color:#102f4f;white-space:nowrap;font-size:14px}.bank-header-summary .bank-header-balance{background:#edf7f2;border-color:#b9d8ca}.bank-header-summary .bank-header-balance b{color:#176e51}.bank-header-upload-wrap{align-content:center;gap:4px;min-width:150px;display:grid}.bank-header-upload{white-space:normal;width:100%;padding:8px 11px;font-size:9px;line-height:1.25}.bank-header-upload-wrap small{color:#738195;letter-spacing:0;white-space:normal;text-align:center;font-size:6.5px;font-weight:700}.bank-reconciliation-back{margin-top:8px;padding:7px 12px}.bank-import-input{display:none}.actions{gap:10px;display:flex}.actions label{border:1px solid var(--line);color:#8a95a4;border-radius:8px;align-items:center;width:240px;height:40px;padding:0 12px;display:flex}.actions input{border:0;outline:0;width:100%;padding-left:8px}.payment-ledger-header{position:sticky}.payment-header-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.payment-header-add,.payment-header-export{white-space:nowrap}.payment-ledger-export-trigger{display:none}.evidence-download-link{color:#155da8;text-underline-offset:2px;overflow-wrap:anywhere;font-weight:800;text-decoration:underline}.payment-export-modal{width:min(1040px,100vw - 32px);max-width:1040px}.payment-export-filters{padding:22px 24px}.payment-export-summary{color:#174f8b;background:#edf5fd;border-radius:7px;margin:0 24px 16px;padding:11px 13px;font-size:10px}.primary{color:#fff;background:#205ca7;border:0;border-radius:8px;padding:10px 15px;font-weight:700;box-shadow:0 2px 5px #234b7830}.primary:hover{background:#174a88}.primary:disabled{opacity:.45}.content{width:100%;max-width:none;margin:0;padding:28px 20px 45px}.register-hub>.content{max-width:none;margin:0;padding:0}.register-hub>.content>.title{margin-top:20px}.register-tabs{margin-bottom:4px}.register-section{margin-top:20px}.stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;display:grid}.stat,.panel,.room{border:1px solid var(--line);background:#fff;border-radius:11px;box-shadow:0 2px 8px #1f39550a}.stat{gap:14px;padding:19px;display:flex}.stat>i{border-radius:9px;place-items:center;width:42px;height:42px;font-size:20px;font-style:normal;display:grid}.stat.blue>i{color:#2f67bb;background:#e7effb}.stat.green>i{color:#147757;background:#e3f3ec}.stat.amber>i{color:#b77613;background:#fbf0d9}.stat.violet>i{color:#795ab7;background:#efebf9}.stat span,.stat b,.stat small{display:block}.stat span{color:var(--muted);font-size:11px;font-weight:700}.stat b{margin:6px 0;font:700 23px Georgia}.stat small{color:#8993a1;font-size:10px}.columns{grid-template-columns:minmax(0,1.8fr) minmax(285px,.8fr);gap:16px;margin-top:16px;display:grid}.overview-upcoming{margin-top:16px}.dashboard-kpi-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.dashboard-kpi-grid .stat{grid-column:span 3}.dashboard-kpi-grid .stat:nth-child(n+9){grid-column:span 4}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.dashboard-chart-card{min-width:0;padding:18px 18px 14px}.dashboard-chart-head{justify-content:space-between;align-items:flex-start;gap:16px;min-height:52px;display:flex}.dashboard-chart-head h2{margin:3px 0}.dashboard-chart-head span{color:#718197;font-size:10px}.dashboard-chart-legend{white-space:nowrap;gap:12px;padding-top:7px;display:flex}.dashboard-chart-legend span{align-items:center;gap:5px;font-weight:700;display:flex}.dashboard-chart-legend i,.dashboard-donut-legend i{border-radius:3px;width:9px;height:9px}.dashboard-chart-legend i.blue,.dashboard-bars i.blue{background:#2470b8}.dashboard-chart-legend i.green,.dashboard-bars i.green{background:#2ca47b}.dashboard-chart-legend i.violet,.dashboard-bars i.violet{background:#8662bd}.dashboard-chart-legend i.amber,.dashboard-bars i.amber{background:#dfa236}.dashboard-chart-legend i.red,.dashboard-bars i.red{background:#d76059}.dashboard-chart-scroll{padding-top:12px;overflow-x:auto}.dashboard-column-chart{background:repeating-linear-gradient(0deg,#0000 0 52px,#edf1f5 53px);border-bottom:1px solid #cfd9e4;grid-template-columns:repeat(18,minmax(31px,1fr));align-items:end;gap:6px;min-width:720px;height:225px;padding:12px 4px 0;display:grid}.dashboard-chart-month{grid-template-rows:1fr 24px;gap:6px;min-width:0;height:100%;display:grid}.dashboard-bars{justify-content:center;align-items:end;gap:3px;min-height:0;display:flex}.dashboard-bars i{border-radius:3px 3px 0 0;width:min(13px,42%);min-height:0;transition:height .2s}.dashboard-chart-month small{color:#63758a;text-align:center;white-space:nowrap;transform-origin:50%;font-size:8px;transform:rotate(-32deg)}.dashboard-donut-card{grid-column:1/-1}.dashboard-donut-body{grid-template-columns:230px minmax(0,1fr);align-items:center;gap:30px;padding:20px 24px 12px;display:grid}.dashboard-donut{aspect-ratio:1;border-radius:50%;place-items:center;width:205px;display:grid}.dashboard-donut:before{content:"";aspect-ratio:1;background:#fff;border-radius:50%;grid-area:1/1;width:62%}.dashboard-donut>span{z-index:1;text-align:center;grid-area:1/1}.dashboard-donut b,.dashboard-donut small{display:block}.dashboard-donut b{color:#173d62;font:700 17px Georgia}.dashboard-donut small{color:#77879a;margin-top:5px;font-size:9px}.dashboard-donut-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;display:grid}.dashboard-donut-legend>div{border-bottom:1px solid #e2e8ef;grid-template-columns:12px minmax(0,1fr) 42px 90px;align-items:center;gap:7px;padding:8px 0;display:grid}.dashboard-donut-legend span{color:#38506a;font-size:11px}.dashboard-donut-legend b{text-align:right;color:#163f67}.dashboard-donut-legend small{text-align:right;color:#738399}.panel{overflow:hidden}.panelhead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.panel h2,.title h2{margin:0;font-size:20px}.panelhead button{color:var(--blue);background:0 0;border:0;font-size:11px;font-weight:700}.tablewrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th{color:#8793a3;letter-spacing:1px;white-space:nowrap;background:#fafbfc;padding:11px 15px;font-size:9px}td{color:#546176;white-space:nowrap;border-top:1px solid #edf0f4;padding:13px 15px}tbody tr:hover{cursor:pointer;background:#f8faff}td b{color:#1a273b}td small{color:#8b95a4;margin-top:4px;display:block}mark{color:#3b4b60;background:#edf1f6;border-radius:5px;padding:4px 8px;font-weight:700}.red{font-weight:700;color:var(--red)!important}.green{font-weight:700;color:var(--green)!important}.recent{padding-bottom:15px}.activity{border-bottom:1px solid #edf0f4;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;margin:0 19px;padding:14px 0;display:grid}.activity i{color:#197b5a;background:#e3f3ec;border-radius:50%;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.activity b,.activity small{font-size:10px;display:block}.activity small{color:#8b95a4;margin-top:4px}.activity strong{font-size:10px}.recent>button{color:#245d9f;background:#f8fbff;border:1px solid #bdd0e4;border-radius:7px;width:calc(100% - 38px);height:37px;margin:12px 19px 0;font-weight:700}.title{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.title h2{font-size:26px}.title span{color:var(--muted);margin-top:8px;font-size:12px;display:block}.link{color:#205da7;font-weight:700}.student-name-link{color:#205da7;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.emergency-edit-link{color:#1d5fa8;background:0 0;border:0;margin-top:5px;padding:0;font-size:8px;font-weight:800;text-decoration:underline;display:block}.student-name-link:hover{text-decoration:underline}.table-sort-head{width:100%;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.table-sort-head span{color:#9aa7b6;font-size:8px}.table-sort-head:hover span{color:#205da7}.student-register-toolbar{justify-content:space-between;align-items:center;gap:14px;margin:-4px 0 13px;display:flex}.student-register-filters{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:fit-content;max-width:100%;display:flex}.student-register-filters input,.student-register-filters select{width:165px;min-height:34px;padding:7px 9px;font-size:11px}.student-register-filters select{width:115px}.student-register-filters button{min-height:34px;padding:7px 12px;font-size:10px}.designation-register-filters input{width:220px}.student-register-toolbar>span{color:#788597;font-size:10px;font-weight:700}.status-filter{background:#e9edf2;border:1px solid #dce3eb;border-radius:9px;gap:4px;padding:4px;display:flex}.status-filter button{color:#687688;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:7px 11px;font-size:10px;font-weight:800;display:flex}.status-filter button small{color:#677486;text-align:center;background:#dbe1e8;border-radius:12px;min-width:18px;padding:2px 5px;font-size:8px}.status-filter button.active{color:#205da7;background:#fff;box-shadow:0 1px 5px #1a385b1c}.status-filter button.active small{color:#205da7;background:#e5effb}.student-register-table{min-width:1320px}.database-view .section-title-row,.payroll-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.database-view .section-title-row h2,.payroll-heading h2{margin:0 0 7px;font:25px Georgia,serif}.database-view .section-title-row p:last-child,.payroll-heading p:last-child{color:#748195;margin:0;font-size:11px}.database-view>.status-filter{width:fit-content;margin-bottom:13px}.staff-register-table{min-width:1050px}.staff-tabs{margin-bottom:18px}.designation-table{min-width:680px}.staff-payroll-register{min-width:1250px}.payroll-summary-heading{color:#173c64;align-items:baseline;gap:10px;margin:22px 0 9px;display:flex}.payroll-summary-heading b{font:18px Georgia,serif}.payroll-summary-heading span{color:#77869a;font-size:10px}.payroll-summary-wrap{width:100%;max-width:100%;overflow:visible}.payroll-summary-table{table-layout:fixed;width:100%;min-width:0}.payroll-summary-table th{white-space:normal;padding:9px 4px;font-size:9px;line-height:1.3;text-align:center!important}.payroll-summary-table td{padding:10px 5px;font-size:10px}.payroll-summary-table th:first-child{width:6%}.payroll-summary-table th:nth-child(2){width:8%}.payroll-summary-table th:nth-child(3){width:6%}.payroll-summary-table td:nth-child(n+4),.payroll-summary-table th:nth-child(n+4){text-align:right;white-space:nowrap}.payroll-summary-table tfoot th{color:#153f6c;background:#e8f1fb}.payroll-summary-table tfoot th:nth-child(n+4){text-align:left!important}.payslip-pdf-viewer{flex-direction:column;width:min(1050px,100vw - 36px);height:calc(100vh - 36px);display:flex}.payslip-pdf-viewer iframe{background:#eef2f6;border:0;flex:1;width:100%}.payslip-pdf-viewer>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:14px 20px;display:flex}.payslip-pdf-viewer>footer button{background:#fff;border:1px solid #cdd8e4;border-radius:7px;padding:9px 14px;font-weight:800}.tab-action-row{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.income-category-add{align-items:center;gap:8px;display:flex}.income-category-add input{border:1px solid #cfdae6;border-radius:7px;width:230px;padding:10px 12px}.income-category-panel{width:min(720px,100%)}.income-category-panel th,.income-category-panel td{text-align:center}.other-income-ledger-panel{width:100%}.other-income-ledger{table-layout:fixed;width:100%}.other-income-ledger th{text-align:center;white-space:normal}.other-income-ledger .amount-cell{text-align:right}.other-income-ledger td{overflow-wrap:anywhere}.other-income-ledger .admin-row-actions{flex-wrap:wrap;justify-content:center;min-width:0}.modal-detail-grid{padding:20px 24px}.designation-table th:first-child,.designation-table td:first-child{width:55%}.category-table{min-width:720px}.category-table th:first-child,.category-table td:first-child{width:130px}.category-code{color:#205da7;letter-spacing:.4px;background:#eaf2fb;border-radius:6px;padding:5px 8px;font-size:10px;display:inline-block}.category-code.main{color:#143f70;background:#d9e8f8}.category-main-row{cursor:pointer}.category-main-row td{color:#405169;background:#f3f7fb}.category-main-row:hover td{background:#eaf2fb}.category-drill-button{color:#173d68;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-weight:900;display:inline-flex}.category-drill-button span{background:#fff;border:1px solid #aabbd0;border-radius:4px;place-items:center;width:20px;height:20px;display:grid}.category-sub-row td{background:#fff}.category-tree{color:#758398;font-size:9px}.payroll-table{min-width:900px}.payroll-heading{margin-bottom:14px}.expense-tabs{margin-bottom:0}.expense-tab-toolbar{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:24px;display:flex}.category-add.category-add-inline{background:0 0;border:0;flex:1;justify-content:flex-end;margin:0;padding:0}.category-add.category-add-inline label{width:min(240px,28vw)}.expense-section-head{justify-content:space-between;align-items:flex-end;gap:18px;margin:18px 0 14px;display:flex}.expense-section-head.expense-actions-only{justify-content:flex-end}.staff-payroll-month{z-index:25;margin:0;position:fixed;top:10px;right:24px}.staff-payroll-month .month-control{width:215px}.staff-payroll-month .month-control input{width:100%}.expense-section-head h2{margin:0 0 6px;font:24px Georgia,serif}.expense-section-head p:last-child{color:#748195;margin:0;font-size:11px}.category-add{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:flex-end;gap:10px;margin-bottom:16px;padding:16px;display:flex}.category-add label{color:#5d6a7b;width:min(440px,100%);font-size:10px;font-weight:700}.category-add input,.category-add select,.month-control input{background:#fff;border:1px solid #d4dce6;border-radius:7px;width:100%;margin-top:6px;padding:10px}.category-hierarchy-add label{width:min(320px,100%)}.category-hierarchy-add label:nth-child(2){width:min(440px,100%)}.category-add .form-error{margin:0 0 7px}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.category-card{flex-direction:column;align-items:flex-start;gap:12px;min-height:125px;padding:16px;display:flex}.category-card>b{font-size:13px;line-height:1.35}.category-card>button,.review-button{color:#205da7;background:#f5f9fd;border:1px solid #c8d6e6;border-radius:6px;margin-top:auto;padding:6px 9px;font-size:9px;font-weight:800}.expense-stats{grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:22px;display:grid}.expense-stats article{flex-direction:column;gap:6px;padding:17px;display:flex}.expense-stats small{color:#7c899a;letter-spacing:.6px;font-size:9px;font-weight:800}.expense-stats b{font-size:22px}.expense-stats span{color:#788597;font-size:10px}.expense-ledger-table{min-width:1580px}.expense-ledger-table td>small{color:#7b8798;white-space:normal;max-width:210px;margin-top:5px;display:block}.evidence-link{color:#205da7;font-size:10px;font-weight:800;text-decoration:none}.evidence-link:hover{text-decoration:underline}.approval-status{white-space:nowrap;border-radius:13px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-block}.approval-status.pending{color:#8b5d0d;background:#fff3dc}.approval-status.more-details-requested{color:#245d9f;background:#e8f0fb}.approval-status.approved{color:#176e51;background:#e3f3ec}.approval-status.disapproved,.approval-status.unapproved-transaction,.approval-status.unverified{color:#aa443d;background:#fff0ee}.approval-status.verified{color:#176e51;background:#e3f3ec}.month-control{color:#667487;min-width:180px;font-size:9px;font-weight:800}.expense-summary-period{align-items:flex-end;gap:10px;display:flex}.expense-summary-period .month-control{min-width:150px}.expense-summary-table{table-layout:fixed}.expense-summary-table col.expense-main-category{width:180px}.expense-summary-table col.expense-sub-category{width:200px}.expense-summary-table col.expense-total{width:140px}.expense-summary-table col.expense-month{width:calc(8.33333cqw - 43.3333px)}.expense-summary-table th:not(:first-child),.expense-summary-table td:not(:first-child){text-align:right}.expense-summary-table td:first-child{z-index:1;background:#fff;min-width:210px;position:sticky;left:0}.expense-summary-table .summary-total td{color:#173d68;background:#eaf2fb}.expense-summary-table .summary-total td:first-child{background:#eaf2fb}.other-income-summary-table{table-layout:fixed;width:auto;min-width:0}.other-income-summary-table col.other-income-category{width:210px}.other-income-summary-table col.other-income-month{width:calc(8.33333cqw - 29.1667px)}.other-income-summary-table col.other-income-total{width:140px}.formgrid textarea{resize:vertical;border:1px solid #d4dce6;border-radius:7px;width:100%;margin-top:7px;padding:10px}.evidence-upload input{opacity:0;pointer-events:none;position:absolute}.evidence-upload span{color:#205da7;text-align:center;cursor:pointer;background:#f7faff;border:1px dashed #9db7d5;border-radius:8px;margin-top:7px;padding:14px;display:block}.approval-entry-note{color:#79530f;background:#fff8e9;border:1px solid #efd39b;border-radius:8px;padding:12px}.approval-entry-note b,.approval-entry-note small{display:block}.approval-entry-note small{margin-top:4px;font-size:9px}.approval-modal{width:min(900px,96vw)}.approval-review-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.approval-note{color:#5d6a7b;margin-top:15px;font-size:10px;font-weight:700;display:block}.approval-note textarea{resize:vertical;border:1px solid #d4dce6;border-radius:7px;width:100%;margin-top:7px;padding:10px}.approval-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.approval-actions button{background:#fff;border:1px solid #d4dce6;border-radius:7px;padding:10px 12px;font-weight:800}.approval-actions .request{color:#205da7;border-color:#aac2df}.approval-actions .disapprove{color:#a7433d;border-color:#e5b5b1}.approval-actions .approve{color:#fff;background:#19785a;border-color:#19785a}.financial-heading{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:20px;min-height:0;display:grid}.financial-heading .title{flex:1}.account-period{gap:9px;margin-bottom:24px;display:flex}.account-period label{color:#687688;font-size:9px;font-weight:800}.account-period input{background:#fff;border:1px solid #d4dce6;border-radius:7px;margin-top:5px;padding:9px;display:block}.account-summary-cards{grid-template-columns:repeat(3,1fr);gap:14px;width:min(76%,1180px);margin-bottom:20px;margin-left:auto;display:grid}.financial-accounts .account-summary-cards{grid-area:1/1;width:100%;margin:0 0 20px}.financial-accounts .account-summary-cards article{gap:2px;min-height:62px;padding:7px 12px}.financial-accounts .account-summary-cards small{font-size:8px;line-height:1.15}.financial-accounts .account-summary-cards b{font-size:18px;line-height:1.15}.financial-accounts .account-summary-cards span{font-size:8px;line-height:1.15}.financial-accounts .account-period{grid-area:1/2;align-items:flex-end;margin:0}.financial-accounts .account-period .secondary{white-space:nowrap;min-height:35px}.account-summary-cards article{border-left:4px solid #205da7;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.account-summary-cards article.expense{border-left-color:#d36355}.account-summary-cards article.net.positive{border-left-color:#19785a}.account-summary-cards article.net.negative{border-left-color:#bd3d36}.account-summary-cards small{color:#7b8797;letter-spacing:.7px;font-size:9px;font-weight:800}.account-summary-cards b{font-size:24px}.account-summary-cards span{color:#798697;font-size:10px}.account-view-tabs{margin-bottom:18px}.account-period select{background:#fff;border:1px solid #d4dce6;border-radius:7px;min-width:170px;margin-top:5px;padding:9px;display:block}.financial-matrix-panel{min-width:0;max-width:100%;overflow:hidden}.financial-matrix-panel>.tablewrap{overscroll-behavior-inline:contain;width:100%;max-width:100%;overflow:auto hidden}.financial-matrix-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.financial-matrix-title b{color:var(--navy);font-size:13px}.financial-matrix-title span{color:#778599;font-size:9px}.financial-monthly-table{border-collapse:collapse;table-layout:fixed;min-width:max-content;max-width:none}@media (max-width:1180px){.financial-heading{grid-template-columns:1fr}.financial-accounts .account-summary-cards,.financial-accounts .account-period{grid-column:1}.financial-accounts .account-summary-cards{grid-row:1}.financial-accounts .account-period{flex-wrap:wrap;grid-row:2;margin-bottom:4px}}@media (max-width:720px){.financial-accounts .account-summary-cards{grid-template-columns:1fr}.financial-accounts .account-period{align-items:stretch}.financial-accounts .account-period label,.financial-accounts .account-period input,.financial-accounts .account-period select,.financial-accounts .account-period .secondary{width:100%}}.financial-monthly-table.short-period{margin-right:auto}.financial-monthly-table th,.financial-monthly-table td{border-right:1px solid #e3e8ee;border-top:1px solid var(--line);text-align:right;white-space:nowrap;padding:11px 10px;font-size:9px}.financial-monthly-table th:first-child,.financial-monthly-table td:first-child{z-index:2;text-align:left;width:230px;position:sticky;left:0}.financial-monthly-table th:first-child{z-index:4}.financial-monthly-table th{color:#6e7b8d;letter-spacing:.6px;background:#f3f6f9;font-size:9px}.financial-monthly-table th small{color:#9aa6b5;margin-top:3px;font-size:8px;display:block}.financial-monthly-table tbody td:first-child{background:#fff}.financial-matrix-section td{color:#fff;letter-spacing:.8px;text-align:left;font-weight:900}.financial-matrix-section.income td{background:#205da7!important}.financial-matrix-section.expense td{background:#9a5148!important}.financial-matrix-group td,.financial-matrix-group td:first-child{background:#f8fafc}.financial-matrix-subgroup td{color:#5e6d81;background:#fcfcfd}.financial-matrix-subgroup td:first-child{background:#fcfcfd;padding-left:50px}.financial-matrix-subgroup td:first-child small{color:#8a98aa;font-size:7px;display:block}.financial-matrix-subgroup td:first-child span{margin-top:2px;display:block}.financial-matrix-total td{font-weight:900}.financial-matrix-total.income td{color:#174c88;background:#e7f0fb}.financial-matrix-total.expense td{color:#8f3e37;background:#f8eae8}.financial-matrix-total.income td:first-child{background:#e7f0fb}.financial-matrix-total.expense td:first-child{background:#f8eae8}.financial-matrix-net td{color:#176e51;background:#e3f3ec;border-top:3px double #aab5c2;font-size:10px;font-weight:900}.financial-matrix-net td:first-child{background:#e3f3ec}.account-statement{border-collapse:collapse;width:100%;min-width:900px}.account-statement th:last-child,.account-statement td:last-child{text-align:right}.account-statement th{color:#6e7b8d;letter-spacing:.7px;text-align:left;background:#f3f6f9;padding:12px 14px;font-size:9px}.account-statement td{border-top:1px solid var(--line);padding:11px 14px;font-size:10px}.account-section td{color:#fff;letter-spacing:.9px;padding:10px 14px;font-size:10px;font-weight:900}.account-section.income td{background:#205da7}.account-section.expense td{background:#9a5148}.account-group td{background:#f8fafc}.account-group td:first-child{font-size:11px}.group-toggle{color:#205da7;background:#fff;border:1px solid #aabbd0;border-radius:4px;width:22px;height:22px;margin-right:9px;font-weight:900;line-height:1}.group-toggle.small{width:19px;height:19px;margin-left:22px}.account-subgroup td{color:#435268;background:#fcfcfd}.account-detail td{color:#647185;font-size:9px}.account-detail td:first-child{padding-left:51px}.account-detail.level-two td:first-child{padding-left:84px}.tree-line{color:#9aabc0;margin-right:8px}.account-total td{font-weight:900}.account-total.income td{color:#174c88;background:#e7f0fb}.account-total.expense td{color:#8f3e37;background:#f8eae8}.account-net td{border-top:3px double #aab5c2;padding:16px 14px;font-size:13px;font-weight:900}.account-net.positive td{color:#176e51;background:#e3f3ec}.muted-cell{color:#8b96a4;font-size:9px}.primary-lite{color:#175b9f!important;background:#edf5fd!important;border-color:#b9d2ec!important}.payroll-status-cell,.payroll-actions{align-items:center;gap:7px;display:flex}.payroll-payment-status{white-space:nowrap;border-radius:14px;align-items:center;padding:5px 8px;font-size:9px;font-weight:900;display:inline-flex}.payroll-payment-status.paid{color:#176e51;background:#e3f3ec}.payroll-payment-status.submitted{color:#165fa6;background:#e5f0fb}.payroll-payment-status.outstanding{color:#9a5b08;background:#fff0cf}.mark-paid-button{color:#176e51;white-space:nowrap;background:#f0faf6;border:1px solid #9ac8b7;border-radius:6px;padding:6px 8px;font-size:9px;font-weight:900}.petty-cash-balance{border-left:4px solid #19785a;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:20px 22px;display:flex}.petty-cash-balance>div:first-child{flex-direction:column;gap:5px;display:flex}.petty-cash-balance small{color:#758296;letter-spacing:.7px;font-size:8px;font-weight:900}.petty-cash-balance>div:first-child b{color:#176e51;font-size:27px}.petty-cash-balance>div:first-child b.negative{color:#aa443d}.petty-cash-balance>div:first-child span{color:#788697;font-size:9px}.petty-cash-breakdown{gap:32px;display:flex}.petty-cash-breakdown span{flex-direction:column;gap:5px;min-width:130px;display:flex}.petty-cash-breakdown b{color:#24394f;font-size:14px}.petty-cash-table .petty-in{color:#176e51}.petty-cash-table .petty-out{color:#aa443d}@media (max-width:760px){.petty-cash-balance{flex-direction:column;align-items:flex-start}.petty-cash-breakdown{gap:14px;width:100%}}.payslip-modal{background:#fff;border-radius:14px;width:min(1180px,100vw - 36px);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 24px 70px #0c233a42}.payslip-modal>header{z-index:5;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex;position:sticky;top:0}.payslip-modal>header h2{margin:4px 0}.payslip-modal>header p:last-child{color:#728095;font-size:10px}.payslip-modal>header>button{border:0;border-radius:50%;width:34px;height:34px;font-size:22px}.payslip-layout{background:#f5f7fa;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);gap:20px;padding:22px 24px;display:grid}.payslip-fields{border:1px solid var(--line);background:#fff;border-radius:10px;padding:20px}.payslip-fields h3{color:#18344f;border-top:1px solid #edf0f4;margin:4px 0 12px;padding-top:12px;font-size:12px}.payslip-fields h3:first-child{border-top:0;padding-top:0}.span-two{grid-column:span 2}.payslip-fields textarea{resize:vertical;min-height:68px}.payslip-preview{background:#fff;border:1px solid #cbd5e0;border-radius:10px;align-self:start;overflow:hidden;box-shadow:0 9px 24px #1f364f1a}.payslip-brand{color:#fff;background:#10304c;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.payslip-brand:before{content:"";background:#fbfad6 url(/perkhaven-logo.png) 50%/contain no-repeat;border-radius:6px;width:54px;height:51px;margin-bottom:5px}.payslip-brand b{letter-spacing:1px;font-family:Georgia,serif;font-size:20px}.payslip-brand span{letter-spacing:1.2px;font-size:8px}.payslip-preview>h3{margin:18px 20px 10px;font-family:Georgia,serif;font-size:18px}.payslip-person{color:#5e6c7e;flex-direction:column;gap:3px;margin:0 20px 14px;font-size:9px;display:flex}.payslip-person b{color:#172d44;font-size:11px}.payslip-block{border-top:1px solid #dfe5eb;flex-direction:column;gap:8px;margin:0 20px;padding:14px 0;display:flex}.payslip-block>b,.payslip-employer>b{color:#748297;letter-spacing:.8px;font-size:8px}.payslip-block span{color:#566477;justify-content:space-between;font-size:9px;display:flex}.payslip-block span strong{color:#172d44}.payslip-block span.total{color:#172d44;border-top:1px solid #edf0f3;padding-top:8px;font-weight:800}.payslip-net{color:#123f70;background:#e7f1fb;border-radius:8px;justify-content:space-between;align-items:center;margin:4px 20px 14px;padding:15px;display:flex}.payslip-net span{letter-spacing:.6px;font-size:9px;font-weight:900}.payslip-net strong{font-size:17px}.payslip-employer{color:#657386;background:#f7f9fb;flex-wrap:wrap;gap:7px 14px;padding:14px 20px;font-size:8px;display:flex}.payslip-employer b{width:100%}.payslip-modal form>footer{z-index:5;border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:9px;padding:16px 24px;display:flex;position:sticky;bottom:0}.payslip-modal form>footer button{background:#fff;border:1px solid #d2dbe5;border-radius:7px;padding:10px 15px;font-weight:800}.payslip-modal form>footer .secondary-action{color:#155795;border-color:#a9c6e4}.payslip-modal .form-error{margin:0 24px 12px}@media (max-width:900px){.payslip-layout{grid-template-columns:1fr}.payslip-preview{max-width:520px}}.account-net.negative td{color:#aa443d;background:#fff0ee}.financial-state{white-space:normal;border-radius:7px;max-width:285px;padding:5px 8px;font-size:9px;font-weight:800;line-height:1.4;display:inline-block}.financial-state.paid{color:#176e51;background:#e3f3ec}.financial-state.outstanding{color:#aa443d;background:#fff0ee}.empty-table-row{color:#7c8999;text-align:center;padding:28px 15px}.placeholder-panel{border-left:4px solid var(--blue);margin-top:20px;padding:28px}.placeholder-panel b{color:var(--navy);font-family:var(--serif);font-size:20px}.placeholder-panel p{color:#738195;margin:8px 0 0;font-size:11px}.bank-reconciliation-view{max-width:none;margin:0;padding:18px 14px 45px}.bank-reconciliation-view .tablewrap{overflow-x:hidden}.bank-reconciliation-table{table-layout:fixed;width:100%;font-size:10px}.bank-reconciliation-table th{white-space:normal;overflow-wrap:normal;text-align:center;padding:9px 4px;line-height:1.2}.bank-reconciliation-table th .table-sort-head{white-space:normal;text-align:center;justify-content:center;gap:3px;width:100%;min-width:0;line-height:1.2}.bank-reconciliation-table .bank-id-column,.bank-reconciliation-table .bank-id-column .table-sort-head{text-align:left;justify-content:flex-start}.bank-reconciliation-table td:nth-child(2){text-align:center}.bank-reconciliation-table td:nth-child(3){text-align:left}.bank-reconciliation-table td:nth-child(4),.bank-reconciliation-table td:nth-child(5),.bank-reconciliation-table td:nth-child(6){text-align:center}.bank-reconciliation-table td:nth-child(9),.bank-reconciliation-table td:nth-child(7),.bank-reconciliation-table td:nth-child(10),.bank-reconciliation-table td:nth-child(11){text-align:right}.bank-reconciliation-table td:nth-child(8),.bank-reconciliation-table td:nth-child(13),.bank-reconciliation-table td:nth-child(14){text-align:center}.bank-reconciliation-table td:nth-child(12){text-align:left}.bank-reconciliation-table td:nth-child(12) .linked-transaction-ids{justify-content:flex-start}.bank-reconciliation-table td:nth-child(14) .admin-row-actions{justify-content:center}.bank-reconciliation-table td{overflow-wrap:anywhere;vertical-align:top;padding-left:6px;padding-right:6px}.bank-reconciliation-table .col-bank-id{width:6%}.bank-reconciliation-table .col-bank-date{width:7%}.bank-reconciliation-table .col-bank-remarks{width:14%}.bank-reconciliation-table .col-bank-cheque,.bank-reconciliation-table .col-bank-code{width:5%}.bank-reconciliation-table .col-bank-branch{width:7%}.bank-reconciliation-table .col-bank-amount{width:6%}.bank-reconciliation-table .col-bank-direction{width:4%}.bank-reconciliation-table .col-bank-balance{width:7%}.bank-reconciliation-table .col-bank-reconciled{width:8%}.bank-reconciliation-table .col-bank-difference{width:7%}.bank-reconciliation-table .col-bank-links{width:8%}.bank-reconciliation-table .col-bank-status{width:9%}.bank-reconciliation-table .col-bank-actions{width:12%}.bank-reconciliation-table .bank-id-column{white-space:normal}.bank-reconciliation-table .bank-id-column .table-sort-head{white-space:normal;width:100%;line-height:1.25}.reconciliation-difference{white-space:nowrap}.reconciliation-difference.shortfall{color:#b3261e}.reconciliation-difference.balanced{color:#176e51}.bank-remarks{white-space:normal;line-height:1.45}.spreadsheet-upload{white-space:nowrap;align-items:center;display:inline-flex}.spreadsheet-upload input{display:none}.spreadsheet-upload.disabled{opacity:.55;pointer-events:none}.import-message{border-radius:8px;margin:0 0 14px;padding:11px 14px;font-size:10px;font-weight:800}.import-message.success{color:#176e51;background:#e3f3ec}.import-message.error{color:#a3423b;background:#fff0ee}.bank-import-errors{color:#744b0b;background:#fff8e9;border:1px solid #e7aa42;border-radius:10px;margin:0 0 14px;padding:14px}.bank-import-errors-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.bank-import-errors-head small{color:#8b6a31;margin-top:4px;display:block}.bank-invalid-row{border-top:1px solid #efd9ad;flex-wrap:wrap;align-items:end;gap:8px;padding:10px 0;display:flex}.bank-invalid-row>b{width:120px}.bank-row-errors{color:#b33f35;width:100%;font-weight:800}.bank-invalid-row label{gap:4px;font-size:10px;font-weight:800;display:grid}.bank-invalid-row input{border:1px solid #d5a04a;border-radius:6px;min-width:120px;padding:7px 8px}.bank-invalid-row input.field-invalid{background:#fff0ee;border:2px solid #c23d35}.bank-direction,.bank-status,.source-type{white-space:nowrap;border-radius:14px;align-items:center;padding:5px 8px;font-size:9px;font-weight:900;display:inline-flex}.bank-direction.credit{color:#176e51;background:#e3f3ec}.bank-direction.debit{color:#a3423b;background:#fff0ee}.bank-status.verified{color:#176e51;background:#e3f3ec}.bank-status.partial{color:#9a5b08;background:#fff0cf}.bank-status.unverified{color:#a3423b;background:#fff0ee}.reconciliation-cell{text-align:center}.reconciliation-cell .review-button{margin:0 auto 7px;display:inline-flex}.reconciliation-cell .bank-status{width:fit-content;margin:0 auto;display:flex}.linked-transaction-ids{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.linked-transaction-ids b{color:#174f8b;background:#e9f2fb;border-radius:5px;padding:4px 6px;font-size:9px}.reconciled-amount-link{color:#176e51;white-space:normal;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.bank-reconciliation-table td:last-child{min-width:0}.bank-reconciliation-table td:last-child .review-button{margin-top:6px;display:block}.bank-reconciliation-table .transaction-id{white-space:normal;overflow-wrap:anywhere}.bank-reconciliation-table .bank-status{white-space:normal;text-align:center;justify-content:center;max-width:100%}.bank-reconciliation-table .admin-row-actions{flex-flow:row;align-items:center;gap:4px;min-width:0}.bank-reconciliation-table .admin-row-actions button{white-space:nowrap;width:auto;margin:0;padding:5px 6px;font-size:8px}.bank-reconciliation-table td:last-child .admin-row-actions .review-button{margin:0}.bank-reconcile-modal{width:min(1180px,100vw - 32px);max-width:1180px}.reconcile-balance{background:#d4e0ed;border:1px solid #d4e0ed;border-radius:8px;grid-template-columns:1fr 1fr;gap:1px;margin:18px 24px;display:grid;overflow:hidden}.reconcile-balance span{background:#edf5fd;padding:14px 16px}.reconcile-balance small,.reconcile-balance b{display:block}.reconcile-balance small{color:#728198;letter-spacing:.7px;font-size:8px;font-weight:900}.reconcile-balance b{color:#173c64;margin-top:5px;font-size:16px}.reconcile-controls{grid-template-columns:220px 1fr;gap:12px;padding:0 24px 16px;display:grid}.reconciliation-source-rule{color:#35526f;background:#edf5fd;border-radius:7px;margin:-4px 24px 16px;padding:9px 11px;font-size:9px;font-weight:700}.reconcile-source-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:430px;overflow:auto}.reconcile-source-list table{min-width:980px}.reconcile-source-list tr:has(input[type=checkbox]:checked) td{background:#edf6ff}.reconcile-source-list input[type=checkbox]{width:16px;height:16px}.reconcile-amount-input{border:1px solid #cbd7e5;border-radius:5px;width:130px;padding:7px}.reconciliation-limit-error{background:#fff0ee;border:1px solid #efb4ae;border-radius:7px;margin:14px 24px 0;padding:11px 13px}.source-type{color:#285982;background:#edf3f8}.reconciliation-detail-list{max-height:480px;padding:18px 24px;overflow:auto}.reconciliation-detail-list table{width:100%}.reconciliation-detail-list tfoot th{color:#173c64;background:#edf5fd}.status{border-radius:16px;padding:5px 8px;font-size:10px;font-weight:700}.status.active{color:#176e51;background:#e3f3ec}.status.notice{color:#8a5a0b;background:#fff0cf}.status.inactive{color:#727e8d;background:#edf0f3}.settlement-check{background:#f8fafc;border:1px solid #dce3eb;border-radius:8px;grid-column:span 2;align-items:flex-start;padding:12px;flex-direction:row!important;gap:9px!important;display:flex!important}.settlement-check input{width:16px;height:16px;margin:0}.settlement-check b,.settlement-check small{display:block}.settlement-check b{color:#283a50;font-size:10px}.settlement-check small{color:#7d8998;margin-top:4px;font-size:9px;line-height:1.4}.departure-preview{border-top:1px solid #e5e9ef;grid-column:span 2;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.departure-preview>small{color:#7c8999;letter-spacing:.8px;font-size:8px;font-weight:800}.filters{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.filters button,.filters input{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 10px}.filters button.selected{color:#b7463f;background:#fff1ef;border-color:#edc2bd}.filters label{color:#7d8998;font-size:10px}.filters>div{text-align:right;margin-left:auto}.filters small,.filters b{display:block}.filters small{letter-spacing:1px;color:#8894a3;font-size:8px}.filters b{color:var(--red);font:700 16px Georgia}.payment-tabs{background:#e9edf2;border:1px solid #dbe2ea;border-radius:10px;gap:5px;width:fit-content;margin-bottom:15px;padding:5px;display:flex}.payment-tabs-row,.register-tabs-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.register-tabs-row>.register-tabs,.payment-tabs-row>.payment-tabs{margin-bottom:15px}.occupancy-actions-row{width:100%}.payment-tab-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.section-toolbar.end{justify-content:flex-end;margin-bottom:12px;display:flex}.cash-verification-control{gap:3px;min-width:92px;display:grid}.cash-verification-control select{min-height:30px;padding:4px 7px;font-size:10px}.cash-verification-control small,.bank-status small{text-align:center;color:#748398;margin-top:3px;font-size:8px;display:block}.payment-tabs button,.subtabs button{color:#5d6a7b;background:0 0;border:0;border-radius:7px;padding:9px 14px;font-size:10px;font-weight:800}.payment-tabs button.active,.subtabs button.active{color:#205da7;background:#fff;box-shadow:0 1px 5px #1a385b1c}.payment-section{margin-bottom:15px}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;min-height:78px;padding:17px 19px;display:flex}.section-heading h2{margin:0}.section-heading span{color:var(--muted);margin-top:5px;font-size:10px;display:block}.sort-button,.secondary{color:#245d9f;background:#f8fbff;border:1px solid #c8d6e5;border-radius:7px;padding:8px 11px;font-size:10px;font-weight:800}.ledger-filters{border-bottom:1px solid var(--line);background:#fafbfc;grid-template-columns:repeat(4,1fr);gap:10px;padding:13px 18px;display:grid}.ledger-filters label,.period-controls label{color:#758195;letter-spacing:.5px;flex-direction:column;gap:5px;font-size:8px;font-weight:800;display:flex}.ledger-filters input,.ledger-filters select,.period-controls input{min-width:0;color:var(--ink);background:#fff;border:1px solid #dce3eb;border-radius:7px;padding:8px 9px;font-size:10px}.payment-workspace{max-width:none;margin:0;padding:18px 14px 45px}.payment-workspace>.tablewrap,.payment-section>.tablewrap{overflow-x:hidden}.ledger-table{table-layout:fixed;width:100%;min-width:0;font-size:10px}.ledger-table th{white-space:normal;text-align:center;padding:9px 5px;line-height:1.2}.ledger-table th .table-sort-head{white-space:normal;text-align:center;justify-content:center;gap:3px;width:100%;min-width:0;line-height:1.2}.ledger-table td{overflow-wrap:anywhere;vertical-align:top;padding-left:6px;padding-right:6px}.ledger-table .col-ledger-transaction,.ledger-table .col-ledger-invoice{width:8%}.ledger-table .col-ledger-date,.ledger-table .col-ledger-type{width:7%}.ledger-table .col-ledger-registration{width:9%}.ledger-table .col-ledger-name{width:11%}.ledger-table .col-ledger-room{width:7%}.ledger-table .col-ledger-month{width:6%}.ledger-table .col-ledger-amount{width:7%}.ledger-table .col-ledger-verification,.ledger-table .col-ledger-bank-id,.ledger-table .col-ledger-evidence{width:8%}.ledger-table .col-ledger-actions{width:6%}.ledger-table th:first-child,.ledger-table th:first-child .table-sort-head{text-align:left;justify-content:flex-start}.ledger-table td:first-child,.ledger-table td:nth-child(2),.ledger-table td:nth-child(5),.ledger-table td:nth-child(6),.ledger-table td:nth-child(11),.ledger-table td:nth-child(12){text-align:left}.ledger-table td:nth-child(3),.ledger-table td:nth-child(4),.ledger-table td:nth-child(7),.ledger-table td:nth-child(8),.ledger-table td:nth-child(10),.ledger-table td:nth-child(13){text-align:center}.ledger-table td:nth-child(9){text-align:right}.ledger-table .transaction-id{white-space:normal;overflow-wrap:anywhere}.ledger-table .admin-row-actions{white-space:nowrap;flex-flow:row;align-items:center;gap:4px;min-width:0}.ledger-table .admin-row-actions button{white-space:nowrap;width:auto;margin:0;padding:5px 6px;font-size:8px}.payment-workspace .ledger-filters{grid-template-columns:repeat(6,minmax(0,1fr)) minmax(104px,.72fr)}.receipt-actions{justify-items:stretch;gap:4px;display:grid}.receipt-actions a{text-align:center;padding:4px 5px;text-decoration:none;display:block}.receipt-actions small,.receipt-pending{color:#758195;font-size:8px;line-height:1.25}.receipt-pending{text-align:center;display:block}.transaction-id{color:#174f8b;letter-spacing:.2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.payment-type{border-radius:14px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-block}.payment-type.rent{color:#225f9e;background:#e4effc}.payment-type.deposit{color:#714ca9;background:#efe8fb}.room-payment-toolbar{grid-template-columns:auto minmax(360px,1fr) auto;justify-content:space-between;align-items:end;gap:15px;margin-bottom:14px;display:grid}.room-payment-toolbar .period-caption{color:#718198;grid-column:3;justify-self:end;font-size:9px}.room-analysis-filters{grid-template-columns:repeat(3,minmax(105px,1fr)) auto;gap:7px;display:grid}.room-analysis-filters input{border:1px solid #cbd8e6;border-radius:7px;min-width:0;height:42px;padding:7px 9px}.room-analysis-filters button,.period-controls>button,.period-controls label input{box-sizing:border-box;height:42px;min-height:42px}.period-controls label{color:#52677f;align-self:stretch;gap:5px;font-size:9px;font-weight:800;display:grid}.invoice-copy-actions{align-items:center;gap:5px;display:flex}.invoice-copy-actions a,.admin-row-actions a{text-align:center;text-decoration:none}.deposit-filter-bar{grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:8px;margin:0 18px 14px;display:grid}.deposit-filter-bar input{border:1px solid #cbd8e6;border-radius:7px;min-width:0;min-height:40px;padding:8px 10px}.matrix-export-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 24px;display:grid}.matrix-export-filters label{color:#52677f;gap:7px;font-size:10px;font-weight:800;display:grid}.matrix-export-filters input,.matrix-export-filters select{background:#fff;border:1px solid #cbd8e6;border-radius:7px;min-height:42px;padding:8px 10px}.matrix-export-filters p{color:#5f7188;grid-column:1/-1;margin:0}.subtabs{background:#e9edf2;border:1px solid #dbe2ea;border-radius:9px;gap:4px;padding:4px;display:flex}.period-controls{align-items:end;gap:9px;display:flex}.room-payment-table{table-layout:fixed;width:auto;min-width:0}.summary-table-wrap{container-type:inline-size}.room-payment-table col.analysis-room{width:90px}.room-payment-table col.analysis-registration{width:170px}.room-payment-table col.analysis-name{width:300px}.room-payment-table col.analysis-month{width:calc(8.33333cqw - 46.6667px)}.payment-cell.adjusted{color:#86580c;background:#fff1d5}.invoice-amount-link{color:#145a9c;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.invoice-amount-link:disabled{color:inherit;cursor:default;text-decoration:none}.adjustment-cell-button{width:100%;min-height:58px;color:inherit;cursor:pointer;background:0 0;border:0;padding:6px 2px}.adjustment-cell-button b,.adjustment-cell-button small,.adjustment-cell-button em{display:block}.adjustment-cell-button em{color:#9b6a18;margin-top:4px;font-size:7px;font-style:normal;font-weight:800;text-decoration:underline}.adjustment-cell-button:hover,.adjustment-cell-button:focus-visible{outline-offset:-2px;border-radius:4px;outline:2px solid #d59a37}.adjustment-breakdown{max-width:690px}.adjustment-summary{background:#d5e0ed;border:1px solid #d5e0ed;border-radius:9px;grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 24px;display:grid;overflow:hidden}.adjustment-summary span{background:#edf5ff;padding:15px}.adjustment-summary small,.adjustment-summary b{display:block}.adjustment-summary small{color:#718198;letter-spacing:.7px;font-size:8px;font-weight:800}.adjustment-summary b{color:var(--navy);margin-top:6px;font-size:15px}.adjustment-list{padding:0 24px 18px}.adjustment-list h3,.adjustment-edit-form h3{color:var(--navy);font-family:var(--serif);margin:0 0 12px}.adjustment-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px 0;display:grid}.adjustment-list article div span{color:#758397;margin-top:3px;font-size:9px;display:block}.adjustment-list article strong{color:#a45a13}.adjustment-entry-actions{align-items:center;gap:6px;display:flex}.review-button.danger{color:#a43f39;background:#fff7f6;border-color:#e2b7b2}.register-actions{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.register-actions .review-button{min-width:48px}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:6px;min-width:145px;display:flex}.danger-button{color:#a32e29;cursor:pointer;background:#fff4f3;border:1px solid #efb2ae;border-radius:6px;padding:7px 10px;font-weight:700}.danger-button:hover{background:#fde3e1;border-color:#d96b65}.production-login-page{background:radial-gradient(circle at 8% 8%,#dbedd6e6,#0000 34%),radial-gradient(circle at 92% 90%,#cde0f1bf,#0000 38%),linear-gradient(135deg,#f8f8ee,#eef3f7 62%);place-items:center;min-height:100vh;padding:clamp(20px,5vw,56px);display:grid}.production-login-card{background:#fffffffa;border:1px solid #d7e1ea;border-radius:26px;gap:18px;width:min(500px,100%);padding:clamp(30px,6vw,48px);display:grid;box-shadow:0 28px 80px #0f2b432e}.production-login-brand{text-align:center}.production-login-brand .brand-logo{background:#fbfad6 url(/perkhaven-logo.png) 50%/contain no-repeat;border-radius:22px;width:112px;height:112px;margin:0 auto 18px;display:block;box-shadow:0 14px 30px #0f2b432e}.production-login-brand .tag{color:#7b8da2;letter-spacing:.17em;margin:0 0 12px;font-size:12px;font-weight:800}.production-login-brand h1{letter-spacing:-.03em;color:#102f4a;margin:0 0 10px;font-size:clamp(29px,5vw,36px)}.production-login-brand p:not(.tag){color:#627286;margin:0;font-size:15px;line-height:1.55}.production-login-card>label{color:#263b52;gap:8px;font-size:13px;font-weight:800;display:grid}.production-login-card>label input{color:#173651;background:#fbfdff;border:1px solid #c9d7e4;border-radius:11px;outline:0;width:100%;min-height:50px;padding:12px 14px;transition:border-color .18s,box-shadow .18s,background .18s}.production-login-card>label input::placeholder{color:#9aa9b8}.production-login-card>label input:focus{background:#fff;border-color:#2461ad;box-shadow:0 0 0 4px #2461ad21}.production-login-card .form-error{margin:0}.production-signin{border-radius:11px;width:100%;min-height:52px;margin-top:4px;padding:13px 18px;font-size:16px;font-weight:800;box-shadow:0 8px 18px #2461ad33}.production-signin:disabled{cursor:wait;opacity:.72}@media (max-width:520px){.production-login-card{border-radius:20px}.production-login-brand .brand-logo{width:96px;height:96px}}.signout{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:5px;margin-left:auto;padding:4px 7px;font-size:10px}.limited-portal{background:#f3f6f9;min-height:100vh;display:block}.limited-topbar{color:#fff;z-index:40;background:#102f4a;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:12px clamp(18px,4vw,60px);display:flex;position:sticky;top:0;box-shadow:0 5px 16px #06182733}.limited-topbar>div{align-items:center;gap:12px;display:flex}.limited-topbar .brand-logo{background:url(/perkhaven-logo.png) 50%/contain no-repeat;border-radius:9px;width:54px;height:54px}.limited-topbar span{gap:2px;display:grid}.limited-topbar small,.limited-topbar>div:last-child>span{opacity:.72;font-size:11px}.limited-topbar button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:7px;padding:8px 12px}.limited-content{width:min(1160px,100% - 32px);margin:0 auto;padding:42px 0 70px;position:relative}.limited-welcome h1{color:#102f4a;margin:5px 0;font-size:32px}.limited-welcome>p:last-child{color:#647386}.warden-action-grid{z-index:2;gap:8px;margin:0;display:flex;position:absolute;top:40px;right:0}.warden-action-grid button{text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd9e6;border-radius:8px;align-items:center;gap:7px;min-width:112px;min-height:38px;padding:8px 12px;display:flex;box-shadow:0 3px 10px #102f4a14}.warden-action-grid i{color:#2365ad;background:#e8f1fb;border-radius:50%;place-items:center;width:20px;height:20px;font-size:15px;font-style:normal;line-height:1;display:grid}.warden-action-grid b{color:#102f4a;white-space:nowrap;font-size:11px}.warden-action-grid span{display:none}.warden-tabs{background:#e9eef4;border:1px solid #d6dee8;border-radius:10px;gap:4px;width:max-content;max-width:100%;margin:30px 0 18px;padding:5px;display:flex;overflow-x:auto}.warden-tabs button{color:#53657b;background:0 0;border:0;border-radius:7px;min-width:118px;padding:10px 16px;font-weight:800}.warden-tabs button.active{color:#0d5296;background:#fff;outline:2px solid #162435;box-shadow:0 2px 7px #102a431a}.warden-tabs+.panel{margin-top:0}.limited-submissions,.own-profile-card{margin-top:25px;padding:25px}.limited-submissions table{border-collapse:collapse;width:100%;margin-top:18px}.limited-submissions th,.limited-submissions td{text-align:left;border-bottom:1px solid #e1e7ed;padding:12px}.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.profile-summary-grid span{background:#f5f8fb;border-radius:9px;gap:5px;padding:15px;display:grid}.profile-summary-grid small{color:#718197;text-transform:uppercase;letter-spacing:.06em}.restricted-note{background:#fff7e4;border-left:4px solid #d39a2b;gap:4px;margin-top:24px;padding:14px 17px;display:grid}@media (max-width:700px){.warden-action-grid{justify-content:flex-end;margin:14px 0 12px;position:static}.warden-tabs{width:100%;margin-top:12px}.warden-tabs button{flex:1;min-width:100px}.profile-summary-grid{grid-template-columns:1fr}.limited-topbar{align-items:flex-start}.limited-topbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}.student-self-service .student-portal-hero{position:relative;top:auto}}.adjustment-edit-form{background:#f4f7fb;border-radius:9px;grid-template-columns:1fr 1fr;gap:12px;margin:0 24px 20px;padding:18px;display:grid}.adjustment-edit-form h3,.adjustment-edit-form .wide{grid-column:1/-1}.inline-actions{justify-content:flex-end;gap:8px;display:flex}.payment-cell.standard{color:#405065;background:#f3f6f9}.payment-cell.utilities-pending{color:#85550d;background:#fff4df}.utility-missing{font-weight:900;color:#a45a13!important}.utility-included{color:#35745f!important}.shop-utilities-panel .utility-subtabs{width:fit-content;margin:14px 18px}.utility-table{min-width:1580px}.utility-table th:nth-child(n+2):not(:nth-child(4)):not(:last-child),.utility-table td:nth-child(n+2):not(:nth-child(4)):not(:last-child){text-align:right}.utility-table td{font-variant-numeric:tabular-nums}.calculated-field{background:#edf5fd;border:1px solid #d8e3ee;border-radius:8px;min-height:64px;padding:12px 14px}.calculated-field small,.calculated-field b{display:block}.calculated-field small{color:#718198;letter-spacing:.7px;font-size:8px;font-weight:900}.calculated-field b{color:#174f8b;margin-top:7px;font-size:13px}.room-payment-table tfoot th,.room-payment-table tfoot td{color:#18324d;background:#eaf0f6;border-top:1px solid #cbd7e3;height:44px;font-weight:900}.room-payment-table tfoot td{text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.room-payment-table tfoot .outstanding-total th,.room-payment-table tfoot .outstanding-total td{color:#a9433d;background:#fae8e6}.deposit-table{min-width:1180px}.deposit-table th,.deposit-table td{text-align:center!important}.deposit-table th:first-child,.deposit-table th:nth-child(2),.deposit-table td:first-child,.deposit-table td:nth-child(2){text-align:left!important}.liability{color:#1c6f54;font-size:12px}.payment-check{background:#f1f6fc;border:1px solid #dce8f6;border-radius:8px;grid-column:span 2;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;display:grid}.payment-check span{border-left:2px solid #91b5dd;padding:4px 7px}.payment-check small,.payment-check b{display:block}.payment-check small{color:#7b899b;letter-spacing:.7px;font-size:7px}.payment-check b{margin-top:4px;font-size:10px}.payment-prerequisite{color:#87550e;background:#fff7e9;border:1px solid #efc795;border-radius:8px;grid-column:span 2;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.payment-prerequisite b{white-space:nowrap;font-size:10px}.payment-prerequisite span{text-align:right;font-size:9px;line-height:1.4}.form-error{color:#a43e37;background:#fff0ee;border:1px solid #efc2bd;border-radius:7px;grid-column:span 2;margin:0;padding:10px;font-size:10px;line-height:1.5}.capacity-check{border-radius:8px;grid-column:span 2;padding:10px 12px}.capacity-check b,.capacity-check small{display:block}.capacity-check b{font-size:10px}.capacity-check small{margin-top:4px;font-size:9px}.capacity-check.available{color:#176e51;background:#e9f6f1;border:1px solid #b9ddcf}.capacity-check.full{color:#a43e37;background:#fff0ee;border:1px solid #efc2bd}.payment-summary{margin-bottom:14px}.summary-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;padding:17px 19px;display:flex}.summary-heading h2{margin:0}.summary-heading>div:first-child>span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.payment-legend{gap:6px;display:flex}.payment-legend span{border-radius:14px;padding:5px 8px;font-size:9px;font-weight:800}.payment-legend .paid,.payment-cell.paid{color:#176e51;background:#e3f3ec}.payment-legend .partial,.payment-cell.partial{color:#93610d;background:#fff1d5}.payment-legend .unpaid,.payment-cell.unpaid{color:#a9433d;background:#fae8e6}.summary-table-wrap{scrollbar-color:#aab5c1 #eef2f5;scrollbar-width:thin;border-top:1px solid #dce3ea;overflow-x:auto}.summary-table{border-collapse:separate;border-spacing:0;min-width:780px}.summary-table thead th{color:#18293a;text-align:center;letter-spacing:.85px;vertical-align:middle;background:#ed722e;border-bottom:2px solid #d75d20;border-right:1px solid #8e421947;height:54px;padding:10px 12px;font-size:9px;font-weight:900;line-height:1.2}.summary-table thead th:first-child,.summary-table thead th:nth-child(2),.summary-table thead th:nth-child(3){text-align:left}.summary-table thead small{color:#6c2f10;letter-spacing:.45px;margin-top:4px;font-size:8px;font-weight:800;display:block}.summary-table th:first-child,.summary-table td:first-child{width:90px}.summary-table th:nth-child(2),.summary-table td:nth-child(2){width:165px}.summary-table th:nth-child(3),.summary-table td:nth-child(3){width:265px}.summary-table th:nth-child(n+4),.summary-table td:nth-child(n+4){width:110px}.summary-table thead th:first-child,.summary-table thead th:nth-child(2),.summary-table thead th:nth-child(3),.summary-table tbody td:first-child,.summary-table tbody td:nth-child(2),.summary-table tbody td:nth-child(3){position:sticky}.summary-table thead th:first-child,.summary-table tbody td:first-child{left:0}.summary-table thead th:nth-child(2),.summary-table tbody td:nth-child(2){left:90px}.summary-table thead th:nth-child(3),.summary-table tbody td:nth-child(3){left:255px}.summary-table thead th:nth-child(-n+3){z-index:5}.summary-table tbody td:nth-child(-n+3){z-index:2}.summary-table thead th:nth-child(3),.summary-table tbody td:nth-child(3){box-shadow:8px 0 12px -12px #132a41b8}.summary-table tbody td{color:#3d4d60;vertical-align:middle;background:#fff;border-top:0;border-bottom:1px solid #e7ebf0;border-right:1px solid #e1e7ed;height:64px;padding:11px 13px}.summary-table tbody tr:nth-child(2n) td:not(.payment-cell){background:#f8fafc}.summary-table tbody tr:hover td:not(.payment-cell){background:#f1f6fb}.summary-table tbody tr{cursor:default}.summary-table tbody td:nth-child(2) b{color:#174f8b;letter-spacing:.1px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.summary-table tbody td:nth-child(3)>b,.summary-table tbody td:nth-child(3)>button{font-size:11px;font-weight:800}.summary-table tbody td:nth-child(3) small{color:#7f8b99;margin-top:5px;font-size:8px}.summary-table .payment-cell{text-align:right;font-variant-numeric:tabular-nums;border-left:0;padding:10px 12px}.payment-cell b,.payment-cell small{display:block}.payment-cell b{color:inherit;font-size:10px;font-weight:900}.payment-cell small{color:inherit;margin-top:3px;font-size:8px}.summary-table tfoot th{text-align:left;letter-spacing:.75px;padding:11px 14px;font-size:9px}.summary-table tfoot td{border-right:1px solid #d7e0e8;padding:11px 12px}.roomgrid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.room-viewbar{background:#e9edf2;border:1px solid #dbe2ea;border-radius:9px;gap:4px;width:fit-content;margin:-3px 0 18px;padding:4px;display:flex}.room-viewbar button{color:#596779;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:10px;font-weight:800}.room-viewbar button.active{color:#1f5d9f;background:#fff;box-shadow:0 1px 4px #203c5c1f}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.shop-card{border-top:4px solid #e15f57;padding:22px}.shop-card.occupied{border-top-color:#48a778}.shop-card .roomtop>span{color:#a13932;background:#fde7e5;border-radius:999px;padding:6px 10px;font-weight:800}.shop-card.occupied .roomtop>span{color:#086b49;background:#e2f4eb}.shop-tenant{background:#f4f7fb;border-radius:9px;flex-direction:column;gap:5px;min-height:90px;margin:22px 0;padding:16px;display:flex}.shop-tenant b{font-family:var(--serif);font-size:20px}.shop-card .roommeta>span{width:100%}.shop-card .price-editor input{width:130px}.evidence-review{border:1px dashed #8eb1dc;border-radius:7px;margin-top:8px;padding:12px;display:block}.bed-table-panel{border:1px solid var(--line);background:#fff;border-radius:11px;width:min(860px,100%);margin-right:auto;overflow:hidden;box-shadow:0 2px 8px #1f39550a}.bed-status-legend{border-bottom:1px solid var(--line);color:#657286;justify-content:flex-end;gap:18px;padding:12px 16px;font-size:10px;font-weight:700;display:flex}.bed-status-legend span{align-items:center;gap:6px;display:flex}.bed-status-legend i{border-radius:3px;width:10px;height:10px}.bed-status-legend .occupied{background:#8ed972}.bed-status-legend .vacant{background:#f06159}.bed-status-legend .not-applicable{background:#e6e9ed}.bed-table-wrap{overflow-x:auto}.bed-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:800px}.bed-table th,.bed-table td{border-bottom:1px solid #fff;border-right:1px solid #fff}.bed-table thead th{color:#171717;text-align:left;background:#ef762f;padding:14px 16px;font-size:12px}.bed-table thead th:first-child{width:86px}.bed-table thead th:not(:first-child):not(.bed-price-heading){width:calc(33.3333% - 82px)}.bed-table thead th.bed-price-heading{text-align:right;width:160px}.bed-price-cell{text-align:right;color:#142a42;background:#f7f9fc;width:160px;padding:9px 12px}.bed-price-cell>div{justify-items:end;gap:5px;display:grid}.bed-price-cell b{font-size:11px}.bed-price-cell button{color:#185a9d;background:#fff;border:1px solid #bed0e2;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:800}.bed-price-edit input{text-align:right;width:105px;min-height:29px;padding:5px 7px;font-size:10px}.bed-price-edit span{gap:4px;display:flex}.bed-table tbody th{color:#fff;text-align:left;background:#172c43;padding:13px 16px}.bed-table tbody th b,.bed-table tbody th small,.bed-cell small{display:block}.bed-table tbody th b{font:700 18px Georgia}.bed-table tbody th small{color:#b8c7d6;text-transform:uppercase;letter-spacing:.8px;margin-top:4px;font-size:8px}.bed-cell{vertical-align:middle;height:62px;padding:10px 14px}.bed-cell.occupied{background:#a4df88}.bed-cell.vacant{color:#68100b;background:#f56a61}.bed-cell.not-applicable{color:#8b95a2;background:#eceff2}.bed-cell b,.bed-cell .student-name-link{font-size:11px}.bed-cell.occupied .student-name-link{color:#173d2b}.bed-cell small{color:inherit;margin-top:4px;font-size:8px}.room{padding:18px}.roomtop{justify-content:space-between;display:flex}.roomtop small,.roomtop b{display:block}.roomtop small,.roommeta small{letter-spacing:1px;color:#8a95a4;font-size:8px}.roomtop b{font:700 28px Georgia}.roomtop>span{color:#176e51;background:#e3f3ec;border-radius:15px;height:24px;padding:6px 8px;font-size:9px;font-weight:700}.roomtop>span.full{color:#6f7b8b;background:#edf0f3}.beds{gap:6px;padding:17px 0;display:flex}.beds i{color:#d9e0e8;font-size:24px;font-style:normal}.beds i.occupied{color:#376eaa}.roommeta{border-block:1px solid var(--line);gap:38px;padding:12px 0;display:flex}.roommeta span{flex-direction:column;gap:4px;display:flex}.roommeta b{font-size:11px}.occupants>div{align-items:center;gap:9px;margin-top:10px;display:flex}.occupants i{color:#29609b;background:#e1ebf6;border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;font-style:normal;display:grid}.occupants b,.occupants small{font-size:10px;display:block}.occupants small,.occupants p{color:#8b95a4;margin-top:3px}.occupants p{font-size:10px}.soon{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;max-width:610px;margin:80px auto;padding:55px}.soon>i{color:#315f91;font-size:40px;font-style:normal}.soon h2{margin:5px;font-size:28px}.soon>p:not(.tag){color:var(--muted);line-height:1.7}.soon div{justify-content:center;gap:8px;display:flex}.soon div b{background:#f0f3f7;border-radius:6px;padding:8px 10px;font-size:10px}.backdrop{z-index:50;background:#122034aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(900px,96vw);max-height:92vh;overflow:auto}.paymentmodal{width:min(660px,96vw)}.modalhead{border-bottom:1px solid var(--line);justify-content:space-between;padding:21px 24px;display:flex}.modalhead h2{margin:0}.modalhead span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.modalhead button{background:#f0f2f5;border:0;border-radius:50%;width:34px;height:34px;font-size:21px}.formsection{border-bottom:1px solid var(--line);padding:19px 24px}.formsection h3{margin:0 0 13px;font-size:12px}.formgrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.paymentmodal .formgrid{grid-template-columns:1fr 1fr}.formgrid label{color:#707c8d;flex-direction:column;gap:6px;font-size:9px;font-weight:700;display:flex}.formgrid input,.formgrid select{border:1px solid #dce2ea;border-radius:7px;padding:9px}.formgrid .wide{grid-column:span 2}.formgrid .start-row{grid-column-start:1}.medical-condition-choice{border:1px solid #dce2ea;border-radius:8px;grid-column:span 2;align-items:center;gap:18px;margin:0;padding:10px 12px;display:flex}.medical-condition-choice legend{color:#536174;padding:0 6px;font-size:9px;font-weight:800}.medical-condition-choice label{flex-direction:row;align-items:center}.medical-condition-choice input{margin:0}.autofill{background:#f1f6fc;border:1px solid #dce8f6;border-radius:8px;grid-column:span 2;align-items:center;gap:10px;padding:10px;display:flex}.autofill span{flex:1}.autofill b,.autofill small{font-size:10px;display:block}.autofill small{color:#7d8998;margin-top:4px}.file{grid-column:span 2}.file input{display:none}.file span{text-align:center;color:#2861a2;background:#f8fafd;border:1px dashed #aebed0;border-radius:8px;padding:14px}.modalactions{background:#fafbfc;justify-content:flex-end;gap:8px;padding:15px 24px;display:flex;position:sticky;bottom:0}.modalactions>button:first-child,.profile header button{border:1px solid var(--line);color:#4f5d70;background:#fff;border-radius:7px;padding:9px 13px;font-weight:700}.payment-success-modal{width:min(520px,100vw - 28px)}.payment-success-confirmation{text-align:center;padding:34px 28px 30px}.payment-success-confirmation>i{color:#19785a;background:#e3f3ec;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 17px;font-size:25px;font-style:normal;font-weight:800;display:grid}.payment-success-confirmation h3{color:#172b45;margin:0;font:700 20px Georgia,serif}.payment-success-confirmation p{color:#738094;max-width:390px;margin:10px auto 0;font-size:11px;line-height:1.6}.profile{background:var(--canvas);z-index:30;position:fixed;inset:0 0 0 238px;overflow:auto}.profile>header{border-bottom:1px solid var(--line);z-index:12;background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 34px;display:flex;position:sticky;top:0;box-shadow:0 4px 12px #102a430f}.profile>header>button{border:0}.profile>header>div{gap:8px;display:flex}.profilehero{background:#fff;align-items:center;gap:17px;padding:29px 7%;display:flex}.profilehero>i{color:#295e9c;background:#dfe9f7;border-radius:50%;place-items:center;width:70px;height:70px;font:700 24px Georgia;display:grid}.profile-photo-wrap{flex-direction:column;align-items:center;gap:7px;display:flex}.profile-photo{color:#295e9c;background:#dfe9f7 50%/cover no-repeat;border-radius:16px;place-items:center;width:88px;height:88px;font:700 25px Georgia;display:grid;box-shadow:inset 0 0 0 1px #cfdceb}.profile-photo.has-photo{background-color:#e8edf3}.photo-upload{color:#205da7;cursor:pointer;font-size:9px;font-weight:800;position:relative}.photo-upload:hover{text-decoration:underline}.photo-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.profilehero p{letter-spacing:1px;color:#7d8998;margin:0 0 4px;font-size:10px}.profilehero h2{margin:0 0 8px;font-size:29px}.profilehero>div:last-child{text-align:right;flex-direction:column;margin-left:auto;display:flex}.profilehero>div:last-child small{letter-spacing:1px;color:#8a95a4;font-size:8px}.profilehero>div:last-child b{font:700 29px Georgia}.profilehero>div:last-child span{color:#7e8998;font-size:10px}.profile>nav{border-bottom:1px solid var(--line);background:#fff;gap:28px;padding:0 7%;display:flex}.profile>nav button{color:#748093;background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 2px;font-size:11px;font-weight:700}.profile>nav button.active{color:#205ca7;border-color:#205ca7}.profilebody{padding:23px 7% 50px}.student-payment-profile{flex-direction:column;gap:14px;display:flex}.profile-payment-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.profile-payment-stats article{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:17px 18px}.profile-payment-stats small,.profile-payment-stats b,.profile-payment-stats span{display:block}.profile-payment-stats small{color:#7c8999;letter-spacing:1px;margin-bottom:9px;font-size:8px;font-weight:800}.profile-payment-stats b{color:#132f50;font:700 23px Georgia,serif}.profile-payment-stats span{color:#7c8999;margin-top:6px;font-size:10px}.profile-payment-stats article.attention{background:#fff8f6;border-color:#f1c9c3}.profile-payment-stats article.attention b{color:var(--red)}.profile-payment-stats article.clear{background:#f5fbf8;border-color:#cce7db}.profile-payment-stats article.clear b{color:#14734e}.profile-payment-tabs{background:#e9edf2;border:1px solid #dbe2ea;border-radius:10px;gap:5px;width:fit-content;max-width:100%;padding:5px;display:flex;overflow-x:auto}.profile-payment-tabs button{color:#5d6a7b;white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:none;padding:9px 14px;font-size:10px;font-weight:800}.profile-payment-tabs button.active{color:#205da7;background:#fff;box-shadow:0 1px 5px #1a385b1c}.payment-records-table{margin-bottom:14px}.deposit-profile-summary{border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;min-width:620px;display:grid}.deposit-profile-summary span{background:#f8fafc;padding:14px 16px;display:block}.deposit-profile-summary small,.deposit-profile-summary b{display:block}.deposit-profile-summary small{color:#7c8999;letter-spacing:.8px;font-size:8px;font-weight:800}.deposit-profile-summary b{color:#173a61;margin-top:5px;font-size:12px}.deposit-profile-summary .attention b{color:var(--red)}.deposit-profile-summary .clear b{color:#14734e}.detailgrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.detail{border:1px solid var(--line);background:#fff;border-radius:10px;padding:19px}.detail>div{border-top:1px solid #edf0f4;grid-template-columns:125px 1fr;padding:11px 0;display:grid}.detail small{color:#8a95a4}.detail b{font-size:11px}.toast{z-index:100;color:#fff;background:#193d34;border-radius:9px;padding:13px 18px;font-size:11px;font-weight:700;position:fixed;bottom:24px;right:25px;box-shadow:0 8px 30px #102a4355}@media (max-width:1050px){.stats{grid-template-columns:1fr 1fr}.stats.dashboard-kpi-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.dashboard-kpi-grid .stat,.dashboard-kpi-grid .stat:nth-child(n+9){grid-column:span 6}.dashboard-chart-grid{grid-template-columns:1fr}.dashboard-donut-card{grid-column:auto}.columns{grid-template-columns:1fr}.roomgrid{grid-template-columns:1fr 1fr}.actions label{display:none}.ledger-filters{grid-template-columns:1fr 1fr}.room-payment-toolbar{flex-direction:column;align-items:flex-start}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){aside{width:67px;padding:20px 8px}.brand{padding:0 6px 26px}.brand span,aside nav button span,aside nav em,.admin span{display:none}.brand .brand-logo{border-radius:8px;width:45px;display:block}aside nav button{padding:0 13px}.workspace{margin-left:67px}.workspace>header{height:auto;padding:18px}.workspace>header .primary{font-size:0}.workspace>header .primary:first-letter{font-size:18px}.content{padding:20px 15px}.stats,.roomgrid,.detailgrid,.stats.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-kpi-grid .stat,.dashboard-kpi-grid .stat:nth-child(n+9){grid-column:1/-1}.dashboard-donut-body{grid-template-columns:1fr;justify-items:center}.dashboard-donut-legend{grid-template-columns:1fr;width:100%}.title{align-items:flex-start;gap:10px}.student-register-toolbar{flex-direction:column;align-items:flex-start}.status-filter{max-width:100%;overflow-x:auto}.filters{flex-wrap:wrap}.filters>div{text-align:left;width:100%;margin-left:0}.summary-heading{flex-direction:column;align-items:flex-start}.payment-tabs{width:100%;overflow-x:auto}.payment-tabs button,.subtabs button{white-space:nowrap}.ledger-filters{grid-template-columns:1fr}.period-controls{flex-wrap:wrap;align-items:stretch}.section-heading{flex-direction:column;align-items:flex-start}.payment-check{grid-column:span 1;grid-template-columns:1fr}.payment-prerequisite{flex-direction:column;grid-column:span 1;align-items:flex-start}.payment-prerequisite span{text-align:left}.form-error,.capacity-check,.settlement-check,.departure-preview{grid-column:span 1}.bed-status-legend{flex-wrap:wrap;justify-content:flex-start}.formgrid,.paymentmodal .formgrid{grid-template-columns:1fr}.formgrid .wide,.autofill,.file{grid-column:span 1}.profile{left:67px}.profilehero{flex-wrap:wrap;padding:22px}.profilehero>div:last-child{text-align:left;width:100%;margin:0}.profile>nav{gap:10px;padding:0 16px;overflow:auto}.profile>nav button{white-space:nowrap}.profilebody{padding:17px}.profile-payment-stats{grid-template-columns:1fr}.expense-section-head,.category-add,.approval-actions{flex-direction:column;align-items:stretch}.category-grid,.expense-stats,.approval-review-grid{grid-template-columns:1fr}.approval-actions button{width:100%}}.unverified-payment-row{background:#fffaf0}.unverified-payment-row td:last-child small{color:var(--muted);margin-top:5px;display:block}.action-list-tabs{border:1px solid var(--line);box-sizing:border-box;background:#e9eef4;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px;width:100%;max-width:100%;margin:0 0 18px;padding:4px;display:grid;overflow:hidden}.action-list-tabs button{white-space:normal;min-width:0;color:var(--muted);text-align:center;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:9px 6px;font-size:clamp(10px,.78vw,12px);font-weight:800;line-height:1.2;display:flex}.action-list-tabs button.active{color:#0753a4;background:#fff;box-shadow:0 1px 4px #102f4d18}.action-list-tabs em{color:#172c41;background:#f3a746;border-radius:999px;flex:0 0 18px;place-items:center;min-width:18px;height:18px;font-size:9px;font-style:normal;display:inline-grid}.phone-field>span{grid-template-columns:minmax(145px,.9fr) minmax(150px,1.1fr);gap:8px;display:grid}.phone-field>span select,.phone-field>span input{width:100%}.phone-field>small{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.35;display:block}.profile-completion-button{margin-top:20px}.action-filter-bar{align-items:center;gap:5px;margin:0 0 12px;display:flex}.action-filter-bar>span{color:var(--muted);letter-spacing:.1em;margin-right:7px;font-size:10px;font-weight:900}.action-filter-bar button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:7px 13px;font-weight:800}.action-filter-bar button.active{color:#fff;background:#0753a4;border-color:#0753a4}.action-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;display:inline-flex}.action-status.pending{color:#885700;background:#fff1ce}.action-status.completed{color:#086645;background:#dff3e9}.action-status.closed{color:#9a3028;background:#fbe7e5}.action-list td small{color:var(--muted);margin-top:4px;display:block}.action-list table th,.action-list table td{text-align:center!important}@media (max-width:700px){.action-filter-bar{flex-wrap:wrap;align-items:flex-start}.action-filter-bar>span{width:100%}.action-list-tabs{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}}table thead th{text-transform:uppercase;color:#8793a3!important;letter-spacing:1px!important;white-space:normal!important;vertical-align:middle!important;text-align:center!important;background:#fafbfc!important;border-top:0!important;border-bottom:1px solid #dfe5ec!important;border-right:1px solid #edf0f4!important;height:auto!important;padding:9px 6px!important;font-size:9px!important;font-weight:800!important;line-height:1.2!important}table thead th:last-child{border-right:0!important}table thead th small{margin-top:3px;display:block;color:#9aa6b5!important;letter-spacing:.45px!important;font-size:8px!important;font-weight:800!important}table thead .table-sort-head{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:center!important;justify-content:center!important}.invoice-copy-actions button,.invoice-copy-actions a,.receipt-actions button,.receipt-actions a{border-radius:6px;min-width:88px;font-weight:800;color:#155da8!important;opacity:1!important;background:#fff!important;border:1px solid #b9cce2!important}.invoice-source-note{color:#526781;text-align:right;max-width:190px;font-size:.76rem;font-weight:700}.invoice-adjustment-editor{background:#f7f9fc;border:1px solid #d7e1eb;border-radius:12px;gap:14px;padding:16px;display:grid}.invoice-adjustment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.invoice-adjustment-summary span{background:#eaf2fb;border-left:3px solid #2a68aa;gap:4px;padding:12px;display:grid}.invoice-adjustment-heading{gap:3px;display:grid}.invoice-adjustment-row{grid-template-columns:1.4fr .7fr .8fr 1.5fr;align-items:end;gap:10px;display:grid}.ledger-filter-clear{white-space:nowrap;align-self:end;min-height:42px}.form-guidance{color:#334e6d;background:#eaf2fb;border-left:3px solid #2a68aa;border-radius:7px;margin:0 0 14px;padding:11px 13px;font-size:.82rem;line-height:1.45}@media (max-width:820px){.invoice-adjustment-row,.invoice-adjustment-summary{grid-template-columns:1fr}}.staff-locked-content{place-items:center;min-height:calc(100vh - 82px);padding:32px;display:grid}.staff-locked-card{text-align:center;width:min(580px,100%);padding:46px 38px}.staff-locked-card h1{margin:8px 0 12px}.staff-locked-card>p:last-child{color:#5c6e83;line-height:1.6}.staff-lock-icon{color:#164f8c;background:#e9f0f8;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 18px;font-size:1.8rem;display:grid}.admin-controls-page{gap:16px;display:grid}.admin-controls-summary{align-items:center;gap:28px;padding:18px 22px;display:flex}.admin-controls-summary>div:first-child{margin-right:auto}.admin-controls-summary h2{margin:4px 0 0}.admin-control-stat{min-width:130px;display:grid}.admin-control-stat b{color:#123e68;font-size:1.45rem}.admin-control-stat span{color:#64778d;font-size:.76rem}.admin-permission-panel{overflow:hidden}.admin-permission-note{background:#fff8e7;border-bottom:1px solid #dce5ee;align-items:center;gap:16px;padding:15px 18px;display:flex}.admin-permission-note b{color:#80570b;white-space:nowrap}.admin-permission-note span{color:#6b5b3f;font-size:.8rem}.admin-permission-table{table-layout:fixed;width:100%}.admin-permission-table th,.admin-permission-table td{text-align:center;vertical-align:middle}.admin-permission-table th:first-child,.admin-permission-table td:first-child{width:9%}.admin-permission-table th:nth-child(2),.admin-permission-table td:nth-child(2){text-align:left;width:16%}.admin-permission-table th:nth-child(3),.admin-permission-table td:nth-child(3){width:13%}.admin-permission-table th:last-child,.admin-permission-table td:last-child{width:9%}.admin-permission-table td small{color:#75869a;margin-top:3px;display:block}.permission-toggle{cursor:pointer;flex-direction:column;align-items:center;gap:5px;display:inline-flex}.permission-toggle input{opacity:0;pointer-events:none;position:absolute}.permission-toggle span{background:#cdd6df;border-radius:999px;width:38px;height:21px;transition:all .18s;position:relative}.permission-toggle span:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:all .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #52627455}.permission-toggle input:checked+span{background:#19855d}.permission-toggle input:checked+span:after{transform:translate(17px)}.permission-toggle input:focus-visible+span{outline-offset:2px;outline:2px solid #145ea8}.permission-toggle em{color:#6b7b8e;white-space:nowrap;font-size:.67rem;font-style:normal}.permission-toggle input:checked~em{color:#14704e;font-weight:800}.permission-scope-select{color:#29445f;background:#fff;border:1px solid #cbd7e3;border-radius:7px;width:100%;min-width:105px;padding:8px 7px;font-size:.72rem}.documents-admin-page{gap:16px;display:grid}.document-tabs{background:#e9edf2;border:1px solid #dbe2ea;border-radius:10px;gap:5px;width:fit-content;padding:5px;display:flex}.document-tabs button{color:#5d6a7b;background:0 0;border:0;border-radius:7px;padding:9px 14px;font-size:10px;font-weight:800}.document-tabs button.active{color:#205da7;background:#fff;box-shadow:0 1px 5px #1a385b1c}.documents-generator{grid-template-columns:minmax(260px,1fr) minmax(280px,420px) auto;align-items:end;gap:22px;padding:24px;display:grid}.documents-generator h2{margin:4px 0 7px}.documents-generator p:not(.tag){color:#66788c}.documents-generator label{color:#344b60;gap:7px;min-width:0;font-weight:800;display:grid}.documents-generator select{box-sizing:border-box;background:#fff;border:1px solid #cbd7e3;border-radius:8px;width:100%;min-width:0;min-height:42px;padding:9px 11px}.document-actions{gap:12px;min-width:max-content;display:flex}.document-actions button{white-space:nowrap}@media (max-width:1200px){.documents-generator{grid-template-columns:minmax(0,1fr) auto}.documents-generator>div:first-child{grid-column:1/-1}}.agreement-workspace-modal{grid-template-rows:auto 1fr auto;width:min(1480px,97vw);height:min(94vh,980px);display:grid;overflow:hidden}.agreement-workspace{background:#edf2f6;grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.agreement-preview-shell{min-width:0;padding:20px;overflow:auto}.agreement-docx-preview{min-height:100%}.agreement-docx-preview .docx-wrapper{background:0 0;padding:0}.agreement-docx-preview .docx{margin:0 auto 18px;box-shadow:0 5px 24px #16304922}.agreement-variables,.agreement-sign-panel{z-index:auto;width:auto;color:inherit;background:#fff;border-left:1px solid #d5e0ea;padding:22px;display:block;position:static;inset:auto;overflow-y:auto}.agreement-variables h3,.agreement-sign-panel h3{color:#163d64;margin:0 0 5px;font:700 1.2rem Georgia,serif}.agreement-variables>p,.agreement-sign-panel>p{color:#65778b;margin:0 0 18px;font-size:.78rem;line-height:1.5}.agreement-variables label,.agreement-sign-panel label:not(.agreement-consent){color:#43586d;gap:6px;margin-bottom:12px;font-size:.72rem;font-weight:800;display:grid}.agreement-variables input,.agreement-sign-panel input[type=text]{color:#183c60;background:#fff;border:1px solid #cbd7e3;border-radius:7px;min-height:39px;padding:8px 10px}.agreement-variables input[readonly]{color:#617184;background:#eef3f7}.settlement-variables-modal{grid-template-rows:auto 1fr auto;width:min(1280px,96vw);height:min(92vh,900px);display:grid;overflow:hidden}.settlement-variables-body{background:#edf2f6;grid-template-columns:330px minmax(0,1fr);min-height:0;display:grid}.settlement-summary{padding:34px;overflow-y:auto}.settlement-summary h3{color:#163d64;margin:5px 0 12px;font:700 1.5rem Georgia,serif}.settlement-summary>p:not(.tag){color:#5d7187;max-width:560px;line-height:1.65}.settlement-summary dl{background:#d6e0e9;border:1px solid #d6e0e9;border-radius:9px;grid-template-columns:150px minmax(0,1fr);gap:1px;margin:26px 0 0;display:grid;overflow:hidden}.settlement-summary dt,.settlement-summary dd{background:#fff;margin:0;padding:12px 14px}.settlement-summary dt{color:#5e7185;font-size:.75rem;font-weight:800}.settlement-summary dd{color:#173d62;font-weight:700}.settlement-variables{border-left:0;border-right:1px solid #d5e0ea}.settlement-pdf-preview{background:#edf2f6;min-width:0;min-height:0;padding:18px}.settlement-pdf-preview iframe{background:#fff;border:1px solid #d5e0ea;border-radius:8px;width:100%;height:100%;min-height:540px}.preview-loading{color:#65778b;background:#fff;border:1px solid #d5e0ea;border-radius:8px;place-items:center;height:100%;min-height:540px;font-weight:700;display:grid}.student-agreement-card{grid-template-columns:1fr auto auto;align-items:center;gap:22px;display:grid}.student-agreement-card h2{margin:4px 0 6px}.student-agreement-card p:not(.tag){color:#65778b}.agreement-status-row{justify-items:center;gap:5px;display:grid}.agreement-status-row small{color:#75869a}.agreement-consent{color:#324a62;grid-template-columns:20px 1fr;align-items:start;gap:8px;margin:18px 0;font-size:.78rem;line-height:1.45;display:grid}.agreement-consent input{margin-top:2px}.agreement-sign-panel dl{color:#3c5369;gap:5px;display:grid}.agreement-sign-panel dt{text-transform:uppercase;letter-spacing:.08em;color:#728398;margin-top:12px;font-size:.68rem;font-weight:800}.agreement-sign-panel dd{color:#173f67;margin:0;font-weight:800}.agreement-template-status{color:#245d45;background:#eff8f3;border:1px solid #cfe0d7;border-radius:8px;gap:4px;padding:12px 14px;display:grid}.agreement-template-status span{font-size:.75rem}.document-preview-modal{grid-template-rows:auto 1fr auto;width:min(980px,96vw);height:min(92vh,880px);display:grid;overflow:hidden}.document-preview-modal iframe{background:#edf2f6;border:0;width:100%;height:100%}@media (max-width:900px){.student-self-service .limited-content{width:calc(100% - 24px)}.documents-generator,.agreement-workspace,.settlement-variables-body,.student-agreement-card{grid-template-columns:minmax(0,1fr)}.documents-generator>*,.documents-generator>div:first-child{grid-column:1}.document-actions{flex-wrap:wrap;min-width:0}.document-actions button{flex:220px}.agreement-variables,.agreement-sign-panel,.settlement-variables{border-top:1px solid #d5e0ea;border-left:0;border-right:0}.settlement-pdf-preview{min-height:560px}}@media (max-width:1000px){.admin-permission-table{min-width:1100px}.admin-controls-summary{flex-wrap:wrap;align-items:flex-start}}table{table-layout:fixed}table th{overflow-wrap:anywhere;vertical-align:middle;text-align:center!important;white-space:normal!important}table td{text-align:center;overflow-wrap:anywhere;word-break:normal;vertical-align:middle;white-space:normal!important}table tbody td:first-child,table td.analysis-name,table td.col-ledger-name{text-align:left}table td:has(>.student-name-link){text-align:left}table td.amount-cell,table td.col-ledger-amount,table td[class*=money],table td[class*=amount]{text-align:right;font-variant-numeric:tabular-nums}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
