:root{color:#172036;font-synthesis:none;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.login-layout{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);min-height:100vh;display:grid}.login-introduction{color:#fff;background:linear-gradient(135deg,#12355b,#1f638e);flex-direction:column;justify-content:center;padding:clamp(2.5rem,8vw,8rem);display:flex}.login-introduction h1{letter-spacing:-.06em;margin:.5rem 0 1rem;font-size:clamp(3rem,7vw,5.5rem)}.login-introduction>p:last-child{color:#d7e6f2;max-width:32rem;font-size:1.12rem;line-height:1.7}.login-card{flex-direction:column;justify-content:center;gap:1.25rem;max-width:31rem;margin:auto;padding:2.5rem;display:flex}.login-card h2,.content-section h2{color:#172036;letter-spacing:-.035em;margin:0;font-size:1.9rem}.login-card label{color:#42516d;gap:.45rem;font-size:.88rem;font-weight:650;display:grid}.login-card input{background:#f8fafc;border:1px solid #d8e0ec;border-radius:.55rem;width:100%;padding:.85rem .9rem}.login-card input:disabled{cursor:not-allowed}.eyebrow{color:#4d7398;letter-spacing:.13em;margin:0;font-size:.72rem;font-weight:750}.login-introduction .eyebrow{color:#b8d9ee}.muted{color:#68758d;line-height:1.55}.primary-button,.secondary-button,.text-button{border:0;border-radius:.55rem;font-weight:700}.primary-button{color:#fff;background:#16699a;padding:.9rem 1.1rem}.secondary-button{color:#155d89;background:#e7f1f8;padding:.7rem 1rem}.text-button{color:#1d6a96;background:0 0;padding:.4rem}.portal-shell{grid-template-rows:4rem minmax(0,1fr) auto;grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.topbar{z-index:2;background:#fff;border-bottom:1px solid #dce4ee;grid-column:1/-1;align-items:center;gap:1rem;padding:0 1.5rem;display:flex}.brand{color:#12355b;letter-spacing:-.04em;font-size:1.2rem;font-weight:800}.topbar-context{color:#6f7a8c;flex:1;font-size:.9rem}.navigation-toggle{color:#12355b;background:0 0;border:0;font-size:1.3rem;display:none}.sidebar{background:#fff;border-right:1px solid #dce4ee;grid-row:2/4;padding:1.2rem .75rem}.sidebar nav{gap:.25rem;display:grid}.nav-item{color:#536078;text-align:left;background:0 0;border:0;border-radius:.5rem;justify-content:space-between;align-items:center;width:100%;padding:.75rem .85rem;display:flex}.nav-item:hover,.nav-item-active{color:#124f76;background:#e9f3fa}.nav-item small{color:#8994a7;font-size:.64rem}.main-content{min-width:0;padding:clamp(1.25rem,3vw,2.5rem)}.content-section{background:#fff;border:1px solid #e1e7ef;border-radius:.9rem;max-width:75rem;min-height:20rem;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 .6rem 1.8rem #1a33520a}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.8rem;display:flex}.section-heading h2{margin-top:.35rem}.sync-summary{color:#1d7a46;text-align:right;margin-left:auto;margin-right:.75rem;font-weight:600}.calendar-toolbar,.calendar-layout,.calendar-weekdays,.calendar-days{gap:.4rem;display:flex}.calendar-toolbar{flex-wrap:wrap;align-items:center;margin:1rem 0}.calendar-toolbar span{flex:1}.calendar-toolbar select{min-width:5rem}.calendar-period-select{appearance:none;color:#164a70;cursor:pointer;background:#f8fbfd;border:1px solid #b9ccdc;border-radius:.5rem;padding:.5rem 2rem .5rem .75rem;font-weight:700;box-shadow:0 1px 3px #1a335214}.calendar-title{text-transform:capitalize;font-size:1.05rem}.calendar-view-toggle{border:1px solid #cbd7e3;border-radius:.45rem;display:flex;overflow:hidden}.calendar-view-toggle button{color:#31506d;cursor:pointer;background:#fff;border:0;border-right:1px solid #cbd7e3;min-width:2.4rem;min-height:2.2rem;font-size:1.1rem}.calendar-view-toggle button:last-child{border-right:0}.calendar-view-toggle button.active{color:#fff;background:#1c7f72}.calendar-search input{margin:0}.calendar-event-link{color:#126ba0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;line-height:1.15}.calendar-search{color:#31506d;background:#fff;border:1px solid #d5e1ed;border-radius:.7rem;align-items:center;gap:.6rem;padding:.32rem .45rem .32rem .8rem;font-size:.84rem;font-weight:700;transition:border-color .16s,box-shadow .16s;display:inline-flex;box-shadow:0 1px 3px #1a33520f}.content-section label:has(>input[type=search]){color:#31506d;background:#fff;border:1px solid #d5e1ed;border-radius:.7rem;align-items:center;gap:.6rem;padding:.32rem .45rem .32rem .8rem;font-size:.84rem;font-weight:700;transition:border-color .16s,box-shadow .16s;display:inline-flex;box-shadow:0 1px 3px #1a33520f}.calendar-search:focus-within{border-color:#2780b4;box-shadow:0 0 0 3px #2780b424}.content-section label:has(>input[type=search]):focus-within{border-color:#2780b4;box-shadow:0 0 0 3px #2780b424}.calendar-search input,.search-input{color:#172036;min-width:14rem;box-shadow:none;background:0 0;border:0;outline:0}.content-section label:has(>input[type=search]) input{color:#172036;min-width:14rem;box-shadow:none;background:0 0;border:0;outline:0}.calendar-search input::placeholder,.search-input::placeholder{color:#8a99aa}.content-section label:has(>input[type=search]) input::placeholder{color:#8a99aa}.search-input{background:#fff;border:1px solid #d5e1ed;border-radius:.7rem;width:100%;padding:.72rem .8rem;transition:border-color .16s,box-shadow .16s}.search-input:focus{border-color:#2780b4;box-shadow:0 0 0 3px #2780b424}.date-field-control{width:100%;display:block;position:relative}.date-field-control>input:not(.date-picker-native){width:100%;min-width:0;padding-right:3.2rem}.date-picker-button{z-index:2;color:#176491;cursor:pointer;background:0 0;border:0;border-left:1px solid #d7e3ed;border-radius:0 .55rem .55rem 0;place-items:center;width:2.55rem;height:calc(100% - 2px);min-height:0;padding:0;font-size:1rem;transition:background .16s,color .16s;display:grid;position:absolute;top:1px;right:1px}.date-picker-button:hover{color:#0d5a89;background:#e3f1f9}.date-picker-button:focus-visible{outline-offset:2px;outline:3px solid #2780b43d}.date-picker-native{z-index:1;opacity:0;pointer-events:none;width:2.65rem;height:100%;margin:0;padding:0;position:absolute;top:0;right:0;display:block!important}.record-search{max-width:22rem;margin:.8rem 0;display:block}.sort-header{color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;display:inline-flex}.sort-header:hover,.sort-header:focus-visible{color:#126b9b;outline:0}.sort-icon{color:#2780b4;font-size:1rem;line-height:1}.content-section:has(.calendar-toolbar) .section-heading{z-index:8;background:#fff;padding-top:.25rem;position:sticky;top:0}.content-section:has(.calendar-toolbar) .calendar-toolbar{z-index:8;background:#fff;padding:.5rem 0;position:sticky;top:5.7rem}.content-section:has(.calendar-toolbar) .calendar-search{z-index:8;background:#fff;padding:.35rem 0;display:block;position:sticky;top:9rem}.content-section:has(.calendar-toolbar) .table-wrapper thead th{position:static}.calendar-layout{align-items:flex-start}.month-grid{flex:1;min-width:0}.calendar-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays:not(.week-grid) strong:nth-child(n+8){display:none}.calendar-days{background:#dfe7ef;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-weekdays.week-grid,.calendar-days.week-grid{grid-template-columns:repeat(7,1fr)}.calendar-days.day-grid{grid-template-columns:1fr}.calendar-days.week-grid .calendar-day{min-height:30rem}.calendar-days.day-grid .calendar-day{min-height:35rem}.calendar-day{background:#fff;flex-direction:column;gap:.2rem;min-height:112px;padding:.45rem;display:flex;overflow:hidden}.calendar-day time{color:#40546b;font-weight:700}.calendar-day.muted-day time{color:#aab6c2;font-size:.82rem;font-weight:600}.calendar-day.sunday time{color:#c43d3d}.muted-day,.muted{color:#8795a1}.calendar-event{color:#155d89;text-align:left;cursor:pointer;white-space:nowrap;background:#e8f2fa;border:0;border-radius:3px;padding:.2rem .3rem;font-size:.75rem;overflow:hidden}.calendar-more{color:#176b9b;text-align:left;cursor:pointer;background:0 0;border:0;padding:.15rem .2rem;font-weight:700}.calendar-more-modal{background:#fff;border-radius:.75rem;flex-direction:column;gap:.45rem;width:min(28rem,100%);max-height:75vh;padding:1.5rem;display:flex;position:relative;overflow:auto;box-shadow:0 18px 50px #0000004d}.calendar-more-event{color:#155d89;text-align:left;cursor:pointer;background:#e8f2fa;border:0;border-radius:.35rem;padding:.55rem}.calendar-side{border:1px solid #dfe7ef;width:190px;padding:1rem}.mini-calendar{text-align:center;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:1rem;display:grid}.modal-backdrop{z-index:20;background:#111f2d8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;width:min(34rem,100%);max-height:85vh;padding:1.5rem;position:relative;overflow:auto;box-shadow:0 18px 50px #00000059}.sar-file-browser{color:#1d293d;background:#fff;width:min(72rem,96vw);min-height:32rem}.sar-file-browser>div:first-child{border-bottom:1px solid #dce5ee;align-items:center;gap:.6rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.sar-file-browser h3{margin:0 auto 0 0}.sar-folder,.sar-file{color:#24334d;text-align:left;width:100%;min-height:2.8rem;font:inherit;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf1f5;align-items:center;gap:.7rem;padding:.55rem .7rem;display:flex}.sar-folder:hover{background:#eaf4fb}.sar-file select{width:12rem;margin-left:auto}.sar-file .sar-delete{color:#a12626;background:#fff1f1;border:1px solid #efc5c5;margin-left:.35rem}.event-modal{background:#fff;border-radius:8px;width:min(850px,100%);max-width:850px;max-height:85vh;padding:1.5rem;overflow:auto;box-shadow:0 18px 50px #0000004d}.modern-modal{border-radius:16px;padding:2rem;position:relative}.modal-close{font-size:1.5rem;position:absolute;top:1rem;right:1rem}.event-modal-navigation{align-items:center;gap:.3rem;display:flex;position:absolute;top:1rem;right:1rem}.event-modal-navigation .text-button{min-width:1.8rem;font-size:1.4rem}.event-modal-navigation .modal-close{margin-left:.55rem;position:static}.event-modal-title{align-items:center;gap:.8rem;margin-bottom:1rem;padding-right:7rem;display:flex}.event-modal-title h2,.event-modal-edit{margin:0}@media (width<=42rem){.event-modal-title{flex-wrap:wrap;align-items:flex-start;padding-right:0}}.contact-options{gap:.15rem;max-height:14rem;padding:.2rem 0;display:grid;overflow-y:auto}.contact-options .text-button{text-align:left;width:100%}.field-visibility-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-height:52vh;padding:.25rem;display:grid;overflow:auto}.field-visibility-list label{background:#eef4f8;border:1px solid #d6e2ec;border-radius:.6rem;gap:.3rem;padding:.7rem;display:grid}.chatter{border-top:1px solid #dce5ee;margin-top:1.5rem;padding-top:1rem}.odoo-chatter{background:#fff;border:1px solid #d9e5ee;border-radius:.9rem;overflow:hidden}.chatter-toolbar{background:#f7fafc;border-bottom:1px solid #dce5ee;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;display:flex}.chatter-action,.chatter-icon-action{color:#315675;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbdbe7;border-radius:.5rem;padding:.48rem .75rem;font-weight:700}.chatter-message-action{color:#fff;background:#874378;border-color:#874378}.chatter-icon-action{min-width:2.35rem;margin-left:auto;padding:.48rem}.chatter-composer,.activity-composer{background:linear-gradient(145deg,#fbfdff,#f2f7fb);border-bottom:1px solid #dce5ee;gap:.85rem;padding:1.2rem;display:grid}.chatter-composer textarea,.activity-composer textarea{resize:vertical;min-height:6rem}.chatter-composer span,.activity-composer>span{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.activity-composer h4,.chatter-activities h4{color:#24445e;margin:0}.activity-composer>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.activity-composer label{color:#3f5c76;gap:.4rem;font-size:.82rem;font-weight:750;display:grid}.activity-composer input,.activity-composer select,.activity-composer textarea{box-sizing:border-box;color:#1d3349;width:100%;min-height:2.65rem;font:inherit;background:#fff;border:1px solid #c7d7e5;border-radius:.6rem;padding:.65rem .75rem;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:0 1px 2px #1a33520a}.activity-composer textarea{min-height:7rem}.activity-composer input:hover,.activity-composer select:hover,.activity-composer textarea:hover{border-color:#9abbd1}.activity-composer input:focus,.activity-composer select:focus,.activity-composer textarea:focus{background:#fcfeff;border-color:#2580b5;outline:0;box-shadow:0 0 0 3px #2580b529}.activity-composer>span .text-button{border-radius:.55rem;padding:.6rem .85rem}.activity-composer>span .primary-button{border-radius:.6rem;margin:0;padding:.65rem 1.05rem;box-shadow:0 3px 7px #126b9b33}.chatter-status{color:#287247;margin:.7rem 1rem;font-weight:700}.chatter-activities{background:#fffaf2;border-bottom:1px solid #dce5ee;gap:.55rem;padding:1rem;display:grid}.chatter-activities article{background:#fff;border:1px solid #f0d5ad;border-radius:.6rem;justify-content:space-between;gap:1rem;padding:.7rem .8rem;display:flex}.chatter-activities article>div{gap:.2rem;display:grid}.chatter-activities article span{color:#697b8b;font-size:.82rem}.chatter-list{gap:0;display:grid}.chatter-list article{background:#fff;border-bottom:1px solid #e1e9ef;padding:1rem}.chatter-list article:last-child{border-bottom:0}.chatter-list article.chatter-note{background:#fffaf2}.chatter-message-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.55rem;display:flex}.chatter-list time{color:#718098;white-space:nowrap;font-size:.78rem}.chatter-tracking{color:#215e40;background:#edf9f2;border-left:3px solid #2d9a68;border-radius:.35rem;margin:.35rem 0 .55rem;padding:.65rem .75rem}.chatter-tracking p{margin:.15rem 0}.chatter-tracking span{color:#697b8b;text-decoration:line-through}.chatter-tracking b{color:#187541}.chatter-list article>div:last-child{overflow-wrap:anywhere;line-height:1.5}.chatter-list article>div:last-child p:first-child{margin-top:0}.chatter-list article>div:last-child p:last-child{margin-bottom:0}@media (width<=48rem){.activity-composer>div{grid-template-columns:1fr}.chatter-activities article{display:grid}.chatter-icon-action{margin-left:0}}.requisition-open{color:#126b9b;padding:0;font-weight:700}.requisition-open:hover,.requisition-open:focus-visible{text-decoration:underline}.requisition-detail-modal{width:min(90rem,100vw - 2rem);max-width:none;padding:2rem}.requisition-detail-title{border-bottom:1px solid #e1eaf1;justify-content:space-between;padding-bottom:1rem;padding-right:3rem}.requisition-detail-title .badge{align-self:center}.requisition-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.requisition-detail-grid>div{background:linear-gradient(145deg,#fff,#f5f8fb);border:1px solid #dce5ee;border-radius:.8rem;align-content:start;gap:.35rem;min-height:4.5rem;padding:1rem;display:grid;box-shadow:0 1px 2px #1a33520a}.requisition-detail-grid>div:hover{border-color:#bfd4e4}.requisition-detail-grid span{color:#607089;font-size:.78rem;font-weight:700}.requisition-detail-grid strong{color:#193552;overflow-wrap:anywhere}.requisition-description{grid-column:1/-1;min-height:unset!important}.odoo-rich-text{color:#1d3349;overflow-wrap:anywhere;font-weight:500;line-height:1.55;overflow-x:auto}.odoo-rich-text table{border-collapse:collapse;table-layout:auto;min-width:58rem;width:100%!important}.odoo-rich-text th{white-space:nowrap;overflow-wrap:normal;word-break:normal}.odoo-rich-text th,.odoo-rich-text td{vertical-align:middle;border-bottom:1px solid #e0e8ee;padding:.7rem .9rem}.odoo-rich-text th{color:#25435f;text-align:left}.odoo-rich-text p{margin:.1rem 0 .75rem}.odoo-rich-text p:last-child{margin-bottom:0}.odoo-rich-text ul,.odoo-rich-text ol{margin:.25rem 0 .75rem;padding-left:1.4rem}.odoo-rich-text a{color:#126b9b}.requisition-detail-actions{border-top:1px solid #e1eaf1;flex-wrap:wrap;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}.requisition-detail-actions button{color:#155b87;font:inherit;background:#f5f9fc;border:1px solid #b8ccdc;border-radius:.6rem;margin:0;padding:.6rem 1rem;font-weight:700;transition:background .16s,border-color .16s,transform .16s;box-shadow:0 1px 2px #1a335214}.requisition-detail-actions button:hover{background:#e6f3fa;border-color:#237cad;transform:translateY(-1px)}.requisition-detail-actions button:focus-visible{outline-offset:2px;outline:3px solid #2780b447}@media (width<=48rem){.requisition-detail-modal{width:calc(100vw - 1rem);padding:1.35rem}.requisition-detail-grid{grid-template-columns:1fr}.requisition-detail-title{padding-right:2rem}.odoo-rich-text table{min-width:44rem}}.requisition-approvers>div{justify-items:start;gap:.45rem;display:grid}.requisition-approvers strong{border-radius:999px;align-items:center;min-height:1.8rem;padding:.25rem .55rem;font-size:.82rem;display:inline-flex}.approver-approved{background:#e5f6ea;border:1px solid #bce5c7;color:#17713b!important}.approver-pending{background:#fff2df;border:1px solid #f1ce9e;color:#a95608!important}.approver-rejected{background:#feeceb;border:1px solid #f2bbb7;color:#b42318!important}.category-approvers{color:#35546c;background:#f5f9fc;border:1px solid #d6e3ee;border-radius:.75rem;gap:.55rem;margin:1rem 0;padding:1rem;display:grid}.category-approvers>strong{color:#193552}.category-approvers>span{font-size:.88rem}.category-approvers ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.category-approvers li{color:#1d3349;background:#fff;border:1px solid #dbe7ef;border-radius:.55rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .7rem;font-weight:650;display:flex}.category-approvers li span{color:#17638d;white-space:nowrap;background:#e7f4fb;border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:750}.category-approvers .text-button{color:#a33b35;margin-left:auto}.approver-editor{border-top:1px solid #d6e3ee;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding-top:.7rem;display:grid}.approver-editor label{color:#35546c;gap:.3rem;font-size:.82rem;font-weight:700;display:grid}.approver-editor .approver-required{align-items:center;gap:.45rem;display:flex}.approver-editor button{align-self:end;margin:0}@media (width<=48rem){.approver-editor{grid-template-columns:1fr}}.requisition-filters label:has(>input[type=search]){align-items:initial;color:#526079;box-shadow:none;background:0 0;border:0;border-radius:0;gap:.35rem;padding:0;font-size:.8rem;font-weight:700;display:grid}.requisition-filters label:has(>input[type=search]) input{color:#172036;background:#fff;border:1px solid #d5e1ed;border-radius:.6rem;width:100%;min-width:0;height:2.6rem;padding:.65rem .75rem}.requisition-filters label:has(>input[type=search]):focus-within{box-shadow:none;border:0}.requisition-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.requisition-filters label{color:#526079;gap:.35rem;font-size:.8rem;font-weight:700;display:grid;position:relative}.requisition-filters input,.requisition-filters select{background:#fff;border:1px solid #d5e1ed;border-radius:.6rem;width:100%;height:2.6rem;padding:.65rem .75rem}.requisition-filters .contact-options{z-index:10;background:#fff;border:1px solid #d5e1ed;border-radius:.6rem;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 20px #1a335224}.category-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;margin-top:1rem;display:grid}.category-card{color:#1d5d89;text-align:left;background:#fff;border:1px solid #d6e3ee;border-radius:.75rem;min-height:7rem;padding:1rem;box-shadow:0 2px 5px #1a33520f}.category-card:hover{background:#f1f8fc;border-color:#2780b4}.category-card strong,.category-card span{display:block}.category-card span{color:#607089;margin-top:.45rem;font-size:.82rem;font-weight:400}.category-board{max-width:56rem}@media (width<=48rem){.requisition-filters{grid-template-columns:1fr 1fr}}.date-tag,.time-tag{border-radius:999px;padding:.28rem .55rem;font-size:.85rem;font-weight:700;display:inline-block}.record-navigator{align-items:center;gap:.3rem;display:flex}.record-navigator span{color:#526079;text-align:center;font-variant-numeric:tabular-nums;min-width:3.5rem;font-weight:700}.record-navigator button{min-width:2.15rem;min-height:2.15rem;margin:0;padding:.1rem .45rem;font-size:1.3rem}.requisition-navigator{z-index:51;background:#fff;border:1px solid #d4e1eb;border-radius:.65rem;padding:.25rem;position:fixed;top:1.1rem;right:3.6rem;box-shadow:0 4px 14px #1a335229}.odoo-chatter a{color:#17713b;font-weight:700}.odoo-chatter a:hover,.odoo-chatter a:focus-visible{color:#0e5b2d;text-decoration-thickness:2px}.record-navigator{justify-content:flex-end;align-items:center;gap:.15rem;min-height:2.35rem;display:flex}.record-navigator>span{color:#526079;text-align:center;font-variant-numeric:tabular-nums;min-width:3.6rem;font-size:.82rem;font-weight:700}.record-navigator button{color:#175f8c;background:#fff;border:1px solid #cbdbe7;border-radius:.5rem;place-items:center;width:2.15rem;height:2.15rem;margin:0;padding:0;font-size:1.5rem;line-height:1;display:grid}.record-navigator button:hover:not(:disabled){background:#e9f4fa;border-color:#79acc8}.record-navigator button:disabled{opacity:.42;cursor:not-allowed}.record-navigator .modal-close{color:#126b9b;margin-left:.35rem;font-size:1.35rem}.date-tag{color:#1958a6;background:#e7f0ff}.time-tag{color:#13733c;background:#e7f8ef}.dashboard-empty{text-align:center;align-content:center;justify-items:center;display:grid}.dashboard-empty .muted{max-width:31rem}.school-catalogs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1rem;display:grid}.school-catalog{background:#f8fbfd;border:1px solid #d6e3ee;border-radius:.75rem;gap:.45rem;padding:1rem;display:grid}.school-catalog span{color:#6a7890;font-size:.85rem}.school-times{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.school-toolbar{flex-wrap:wrap;gap:.7rem;margin-bottom:1rem;display:flex}.school-toolbar select{border:1px solid #d5e1ed;border-radius:.55rem;min-width:14rem;padding:.65rem}.school-setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.school-mini-list{gap:.25rem;max-height:10rem;display:grid;overflow:auto}.school-mini-list div{border-top:1px solid #e4ebf1;justify-content:space-between;gap:.3rem;padding-top:.3rem;font-size:.8rem;display:flex}@media (width<=48rem){.school-setup-grid{grid-template-columns:1fr}}.assignments-modal{width:min(60rem,100%)}.assignment-table-wrapper{background:#fff;border:1px solid #d9e5ef;border-radius:.7rem;margin-top:1rem;overflow:auto}.assignment-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:.82rem}.assignment-table th{text-align:left;color:#315775;letter-spacing:.04em;text-transform:uppercase;background:#eef5fa;padding:.7rem .65rem;font-size:.72rem}.assignment-table th:first-child{width:28%}.assignment-table th:nth-child(2){width:23%}.assignment-table th:nth-child(3){width:22%}.assignment-table th:nth-child(4){width:18%}.assignment-table th:last-child{width:9%}.assignment-table td{vertical-align:middle;overflow-wrap:anywhere;color:#273d52;border-top:1px solid #e4edf4;padding:.72rem .65rem}.assignment-table tbody tr:nth-child(2n) td{background:#f9fbfd}.assignment-table tbody tr:hover td{background:#f1f7fb}.assignment-table .assignment-actions{white-space:nowrap;text-align:right}.assignment-hours{color:#17608e;white-space:nowrap;background:#e4f1fa;border-radius:999px;justify-content:center;align-items:center;min-width:3.8rem;padding:.22rem .48rem;font-weight:700;display:inline-flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.permission-matrix{border-collapse:collapse;width:100%;margin-top:1rem}.permission-matrix th,.permission-matrix td{text-align:center;border-bottom:1px solid #dce6ef;padding:.7rem}.permission-matrix th:first-child{text-align:left}.permission-matrix thead th{color:#46617e;font-size:.82rem}.permission-matrix input{accent-color:#16699a;cursor:pointer;width:1.1rem;height:1.1rem}.permission-matrix input:disabled{cursor:not-allowed;opacity:.35}.school-schedule-section{gap:1rem;margin:0 0 1rem;display:grid}.school-schedule-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.school-schedule-heading div{gap:.2rem;display:grid}.school-schedule-heading span{color:#6a7890;font-size:.85rem}.school-schedule-grid{background:#f8fbfd;border:1px solid #d6e3ee;border-radius:.75rem;padding:1rem}.school-schedule-grid h3{margin:0 0 .75rem}.school-schedule-grid table{border-collapse:collapse;min-width:44rem}.school-schedule-grid th,.school-schedule-grid td{text-align:center;border:1px solid #b9c9d7;min-width:7rem;padding:.55rem}.school-schedule-grid thead th,.school-schedule-grid tbody th{color:#24445e;background:#e8f1f7}.school-schedule-grid td{background:#fff;height:3.2rem}.school-schedule-grid td>div{gap:.2rem;display:grid}.school-schedule-grid td span{justify-content:center;gap:.4rem;display:flex}.school-schedule-grid .school-break{color:#705c16;background:#f6f0d8}.school-schedule-grid.school-level-prebasica{background:#f1e5fb;border-color:#c9a8e5}.school-schedule-grid.school-level-prebasica h3{color:#653a86}.school-schedule-grid.school-level-basica{background:#dcefe1;border-color:#8fbd9c}.school-schedule-grid.school-level-basica h3{color:#1e6338}.school-schedule-grid.school-level-media{background:#ffe6cf;border-color:#eeb67d}.school-schedule-grid.school-level-media h3{color:#9a4b16}.school-schedule-grid.school-level-default{background:#f8fbfd}.school-home-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.school-home-actions button{white-space:nowrap}.structure-catalog-modal{width:min(64rem,96vw)}.catalog-modal-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 2rem 1rem 0;display:flex}.catalog-modal-heading h2{margin:0}.catalog-modal-heading p{margin:.25rem 0 0}.catalog-table-wrapper{background:#fff;border:1px solid #d9e5ef;border-radius:.7rem;max-height:60vh;overflow:auto}.catalog-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.86rem}.catalog-table th{text-align:left;color:#315775;letter-spacing:.04em;text-transform:uppercase;background:#eef5fa;padding:.7rem .75rem;font-size:.72rem}.catalog-table td{color:#273d52;vertical-align:middle;border-top:1px solid #e4edf4;padding:.72rem .75rem}.catalog-table tbody tr:nth-child(2n) td{background:#f9fbfd}.catalog-table tbody tr:hover td{background:#f1f7fb}.catalog-actions{text-align:right;white-space:nowrap;width:9rem}.catalog-table th:last-child{width:9rem}.curriculum-add-form{background:#f8fbfd;border:1px solid #d9e5ef;border-radius:.7rem;grid-template-columns:minmax(12rem,1fr) minmax(16rem,1.45fr) auto;align-items:end;gap:.75rem;padding:1rem;display:grid}.curriculum-add-form p{align-self:center;margin:0}.curriculum-empty{margin:0;padding:1rem}@media (width<=48rem){.curriculum-add-form,.school-catalogs{grid-template-columns:1fr}}.status-card{color:#607089;background:#f8fafc;border:1px solid #dfe7ef;border-radius:.65rem;padding:1rem}.status-error{color:#9b3131;background:#fff6f6;border-color:#f4c9c9}.table-wrapper{border:1px solid #e0e6ee;border-radius:.65rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:34rem}th,td{text-align:left;border-bottom:1px solid #e8edf3;padding:.95rem 1rem}th{color:#607089;letter-spacing:.06em;text-transform:uppercase;background:#f8fafc;font-size:.75rem}tr:last-child td{border-bottom:0}.sar-entry-header td{border-top:2px solid #d8dee9;font-weight:700}.sar-entry-header td:nth-child(2){text-align:center}.table-wrapper tbody td{padding-top:.55rem;padding-bottom:.55rem}.calendar-event-link{text-decoration:none}.badge{color:#68758d;background:#edf0f4;border-radius:99rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-active{color:#1e6a45;background:#e4f5ea}.status-success{color:#1e6a45;background:#f1fbf4;border-color:#bde2ca}.users-grid{grid-template-columns:minmax(16rem,.7fr) minmax(20rem,1.3fr);gap:1.5rem;display:grid}.user-form,.user-list-panel,.associations-panel{background:#fbfcfe;border:1px solid #e1e7ef;border-radius:.65rem;padding:1.2rem}.user-form{align-content:start;gap:1rem;display:grid}.form-heading,.user-row,.association-row{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.session-list{gap:.7rem;display:grid}.session-row{background:#fbfcfe;border:1px solid #e1e7ef;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.session-row strong{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.session-row small{color:#718098;margin-top:.4rem;display:block}.user-form h3,.user-list-panel h3,.associations-panel h3{color:#24334d;margin:0;font-size:1rem}.user-form label{color:#526079;gap:.4rem;font-size:.82rem;font-weight:650;display:grid}.user-form label.checkbox-label{justify-self:start;align-items:center;gap:.45rem;display:inline-flex}.user-form label.checkbox-label input{width:auto;margin:0;padding:0}.user-form input{color:#1d293d;background:#fff;border:1px solid #d7e0eb;border-radius:.5rem;width:100%;padding:.72rem .8rem}.user-form select,.user-form textarea{background:#fff;border:1px solid #d7e0eb;border-radius:.5rem;width:100%;padding:.72rem .8rem}.sar-date-selector{grid-template-columns:1fr 1fr 1.4fr;gap:.35rem;display:grid}.sar-date-selector select{min-width:0}.search-input{margin-top:.8rem}.user-list{border-top:1px solid #e5ebf1;margin-top:.8rem;display:grid}.user-row{border-bottom:1px solid #e5ebf1;padding:.8rem 0}.user-row div:first-child,.association-row span{gap:.2rem;min-width:0;display:grid}.user-row span,.association-row small{color:#718098;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.user-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.associations-panel{gap:1rem;margin-top:1.5rem;display:grid}.association-list{gap:.5rem;display:grid}.association-row{background:#fff;border-radius:.5rem;padding:.7rem}.footer{color:#7c8798;grid-column:2;padding:1rem 2.5rem;font-size:.8rem}@media (width<=720px){.login-layout{grid-template-columns:1fr}.login-introduction{min-height:38vh;padding:2.5rem 1.5rem}.login-card{width:100%;padding:2rem 1.5rem}.portal-shell{display:block}.topbar{padding:0 1rem;position:sticky;top:0}.navigation-toggle{display:block}.sidebar{z-index:3;width:min(17rem,85vw);transition:transform .18s;position:fixed;top:4rem;bottom:0;left:0;transform:translate(-105%);box-shadow:.7rem 0 1.5rem #1a33521a}.sidebar-open{transform:translate(0)}.main-content{padding:1rem}.section-heading{flex-direction:column}.users-grid{grid-template-columns:1fr}.user-row,.association-row{flex-direction:column;align-items:flex-start}.user-actions{justify-content:flex-start}.footer{padding:1rem}}.availability-modal{width:min(56rem,96vw)}.availability-grid td{text-align:center;min-width:5.5rem}.availability-check{cursor:pointer;place-items:center;width:2rem;height:2rem;display:inline-grid}.availability-check input{opacity:0;position:absolute}.availability-check span{color:#0000;border:1px solid #9baec2;border-radius:.2rem;place-items:center;width:1.35rem;height:1.35rem;font-size:1.2rem;font-weight:700;line-height:1;display:grid}.availability-check input:checked+span{color:#fff;background:#056da6;border-color:#056da6}.availability-check input:focus-visible+span{outline-offset:2px;outline:2px solid #1e91cc}.availability-grid th,.availability-grid td{height:2.25rem;padding:.2rem .45rem!important}.availability-grid thead th{padding:.42rem .45rem!important}.availability-check{width:1.6rem;height:1.6rem;position:relative}.availability-check input{cursor:pointer;z-index:1;width:100%;height:100%;margin:0;inset:0}.availability-check span{pointer-events:none;width:1.2rem;height:1.2rem}.public-attendance-layout{background:#eef5fa;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.public-attendance-card{background:#fff;border:1px solid #cddfec;border-radius:.9rem;width:min(34rem,100%);padding:2rem;box-shadow:0 .6rem 2rem #1a33521a}.public-attendance-card h1{color:#173b5d;margin:.25rem 0 .75rem}.event-modal-actions{flex-wrap:wrap;gap:.5rem;display:flex}.attendance-qr{grid-template-columns:minmax(13rem,18rem) 1fr;align-items:start;gap:1.5rem;margin-top:1.25rem;display:grid}.attendance-qr img{border:.75rem solid #fff;width:100%;max-width:18rem;box-shadow:0 0 0 1px #d5e0ea}.attendance-records{max-height:15rem;overflow:auto}.attendance-field-config{border:1px solid #d5e0ea;border-radius:.45rem;grid-template-columns:minmax(10rem,1fr) 9rem auto auto;align-items:center;gap:.5rem;margin:.55rem 0;padding:.6rem;display:grid}@media (width<=760px){.attendance-field-config{grid-template-columns:1fr}}@media (width<=620px){.attendance-qr{grid-template-columns:1fr}}
