:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#24344c;background:#f5f7fa;font-synthesis:none;--navy:#163e70;--muted:#7a879b;--line:#e8edf3;--blue:#315faa}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dfe5ee;background:#fff;padding:10px 15px;border-radius:8px;color:inherit;font-size:13px;cursor:pointer;text-decoration:none;transition:background .16s,transform .16s,border-color .16s}button:hover,.button:hover{background:#f0f4fa;border-color:#b6c9e2}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #83a9dc;outline-offset:3px}input,select,textarea{border:1px solid #dfe5ee;border-radius:7px;background:#fff;padding:10px 11px;color:#263851;min-width:0;font-size:13px}select{cursor:pointer}input::placeholder,textarea::placeholder{color:#9ca6b5}h1,h2,h3,p{margin-top:0}h1{font-size:31px;letter-spacing:-.8px;font-weight:650;line-height:1.45;margin-bottom:9px}h2{font-size:20px;font-weight:650;letter-spacing:-.35px;margin-bottom:15px}h3{font-size:15px;font-weight:600;margin-bottom:8px}p{line-height:1.8;font-size:13px}small{font-size:11px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.primary{color:#fff;background:var(--navy);border-color:var(--navy);box-shadow:0 3px 8px #153e7014}.primary:hover{background:#244e84;color:#fff;border-color:#244e84}.icon-button{padding:8px;border-color:transparent;background:transparent}.text-button{padding:5px 2px;border:0;background:none;color:#315faa}.danger{color:#ab4d53}.muted{color:var(--muted)}.full{grid-column:1/-1}.push-right{margin-left:auto}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.eyebrow{display:block;color:#8b9ab0;font-size:10px;font-weight:650;letter-spacing:1.8px;margin-bottom:13px}.brand{border:0;background:none;padding:0;gap:11px;white-space:nowrap}.brand b{font-size:23px;letter-spacing:2px;font-weight:700}.brandmark{width:36px;height:36px;border-radius:11px 4px;background:var(--navy);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-family:serif;box-shadow:inset 0 0 0 1px #ffffff12}.brand-divider{height:20px;width:1px;background:#dce3ed;margin:0 4px}.brand small{font-size:11px;color:#7c899b;letter-spacing:.5px}.topbar{height:83px;padding:0 3.8%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.top-actions{display:flex;align-items:center;gap:25px}.live{display:flex;align-items:center;gap:7px;font-size:11px;color:#7d8b9e}.live i{width:6px;height:6px;background:#6aa391;border-radius:50%}.identity{display:flex;align-items:center;gap:9px}.identity strong{font-size:12px;font-weight:600}.identity small{display:block;color:#8b96a6;font-size:10px;margin-top:3px}.identity select{max-width:150px;border:0;background:#f5f7fa;font-size:11px;padding:7px}.avatar{height:54px;width:54px;border-radius:16px;background:linear-gradient(135deg,#eef1f8,#dce5f3);color:#45638b;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}.avatar.mini{width:33px;height:33px;border-radius:50%;font-size:11px}.nav-shell{position:relative;z-index:30;background:#fff;box-shadow:0 2px 8px #1a315002}.nav-shell nav{position:relative;display:flex;align-items:center;gap:8px;margin:0 3.8%;height:65px}.nav-shell nav>button{position:relative;z-index:1;border:0;background:transparent;border-radius:8px;gap:9px;color:#67758a;font-size:12px;padding:11px 16px}.nav-shell nav>button.selected{color:var(--navy);font-weight:600}.nav-highlight{position:absolute;height:39px;background:#eaf0f8;border-radius:8px;transition:left .34s cubic-bezier(.2,.9,.3,1.12),width .34s cubic-bezier(.2,.9,.3,1.12)}.nav-end{margin-left:auto;color:#98a3b1;font-size:10px;letter-spacing:1px}.unread-dot{height:5px;width:5px;border-radius:50%;background:#c78f43;animation:breathe 2s infinite}.mega{position:absolute;top:65px;left:0;width:100%;background:#fff;box-shadow:0 20px 24px #24344c15;border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:20px;padding:30px 4%;animation:drop .16s ease-out}.mega>div{border-right:1px solid var(--line)}.mega h3{font-size:14px}.mega button{justify-content:flex-start;text-align:left;border:0;padding:13px}.mega-icon{color:#52719a;background:#f0f4f9;padding:10px;border-radius:10px}.mega-icon svg{width:19px;height:19px}.mega strong{display:block;font-size:12px}.mega small{display:block;color:#8794a5;margin-top:7px;font-size:10px}.mega button>svg{margin-left:auto;color:#8fa0b7}main{max-width:1800px;margin:auto;padding:38px 3.8% 0}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:28px}.page-heading p{color:#7c899a;font-size:12px;margin:0}.heading-actions{display:flex;align-items:center;gap:22px}.date-label{color:#8995a5;font-size:11px;font-variant-numeric:tabular-nums}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{padding:19px 22px 16px;background:#fff;border:1px solid var(--line);border-radius:11px}.stat>.row-between{font-size:12px;color:#708096}.stat-icon{display:flex;color:#7b91ae;background:#f2f5f9;padding:7px;border-radius:7px}.stat-icon svg{width:15px;height:15px}.stat-value{font-size:29px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-1px;margin:6px 0 9px;color:#223d63}.stat-value small{font-size:11px;margin-left:8px;font-weight:400;color:#8b97a7;letter-spacing:0}.stat p{font-size:10px;color:#9aa4b3;display:flex;align-items:center;justify-content:space-between;margin:0}.clickable{cursor:pointer}.clickable:hover{border-color:#bbcee7}.calendar-panel,.panel{background:#fff;border:1px solid #e3e9f1;border-radius:12px;overflow:hidden;box-shadow:0 5px 14px #1b345303}.panel{padding:24px}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 24px 18px}.section-kicker{display:block;font-size:10px;color:#8b99ad;letter-spacing:1px;margin-bottom:8px}.panel-top h2{margin:0;font-size:20px}.panel-top h2 .small{font-size:11px;letter-spacing:0;font-weight:400;margin-left:9px}.calendar-tools{display:flex;gap:5px;align-items:center}.calendar-tools button{font-size:11px;padding:7px 10px}.calendar-tools input{font-size:11px;padding:6px 8px;max-width:125px}.segmented{display:flex;border-radius:7px;background:#f2f5f9;padding:3px;margin-right:13px}.segmented button{border:0;color:#8090a4;background:transparent;padding:6px 10px;white-space:nowrap}.segmented button.active{background:#fff;color:#284e80;box-shadow:0 1px 5px #223d6312}.filters{display:flex;gap:10px;align-items:center;padding:12px 24px 17px;flex-wrap:wrap}.filters select,.filters input{font-size:11px;padding:7px 10px;background:#fcfdff;max-width:155px}.filter-label{display:flex;align-items:center;gap:6px;font-size:10px;color:#91a0b5;margin-right:6px}.filters .text-button{font-size:11px}.resource-scroll{overflow:auto;max-height:700px;border-top:1px solid var(--line)}.resource-grid{display:grid;grid-template-columns:175px repeat(7,minmax(125px,1fr));min-width:1050px;position:relative}.resource-head,.day-head{height:78px;background:#fafbfd;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.resource-head{padding:21px 20px;font-size:11px;color:#6b7d96;left:0;z-index:5}.resource-head small{display:block;font-size:9px;color:#a7b0bd;margin-top:8px}.day-head{display:flex;align-items:center;justify-content:center;gap:10px;border-left:1px solid var(--line)}.day-head span{color:#97a2b1;font-size:10px}.day-head b{font-size:20px;font-weight:500;color:#52647e}.day-head.is-today b{background:var(--navy);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.day-head small{font-size:9px;color:#4771a7}.resource-label{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:11px;padding:20px;background:#fff;border-bottom:1px solid var(--line);min-height:125px;box-shadow:1px 0 0 var(--line)}.resource-label .avatar{width:35px;height:35px;border-radius:10px;font-size:11px}.resource-label strong{display:block;font-size:12px;font-weight:550}.resource-label small{display:block;margin-top:6px;color:#9aa6b7;font-size:9px}.resource-cell{border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 8px;min-height:125px;position:relative;background:linear-gradient(transparent 49.5%,#f4f6fa 50%,transparent 50.5%)}.resource-cell.today-column{background-color:#f8faff}.free-slot{display:block;text-align:center;color:#e1e7f0;padding:35px 0;font-size:11px}.event{--event-color:#3768c3;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;width:100%;padding:9px 9px 10px;border:0;border-left:3px solid var(--event-color);border-radius:5px;background:color-mix(in srgb,var(--event-color) 9%,white);color:var(--event-color);margin-bottom:6px;min-height:84px;overflow:hidden}.event:hover{background:color-mix(in srgb,var(--event-color) 17%,white);border-color:var(--event-color)}.event strong{font-size:11px;font-weight:600;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.event>span:last-child{font-size:9px;opacity:.8}.event-time{font-size:9px;letter-spacing:.1px;display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}.event-time i{width:5px;height:5px;border-radius:50%;background:#bc8a43}.block-event{background:repeating-linear-gradient(135deg,#f0f2f6,#f0f2f6 5px,#f7f8fa 5px,#f7f8fa 10px);color:#8995a6;border-color:#adb7c4}.changing{border-top:1px dashed #c69555}.cancelled-event{opacity:.55;text-decoration:line-through}.event em{font-size:9px}.calendar-footer{display:flex;align-items:center;justify-content:space-between;padding:15px 23px;gap:14px;font-size:9px;color:#93a0b2}.calendar-footer span{display:flex;align-items:center;gap:7px}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#527bb7;margin-left:12px}.legend-dot:first-child{margin-left:0}.legend-dot.amber{background:#c09152}.legend-dot.gray{background:#a6b1bf}.below-calendar{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:20px}.tip{display:flex;align-items:flex-start;gap:12px;color:#9babc1}.tip strong{color:#6b7f9a;font-size:11px;font-weight:550}.tip p{font-size:10px;color:#9ba7b7;margin:4px 0 0}.pending-link{min-width:210px;justify-content:space-between;border:1px solid #e4eaf3;padding:16px 18px;background:#eef2f8;color:#5d7494;font-size:11px}.pending-link b{margin-left:15px;color:#315b92;font-size:14px}.page-footer{padding:30px 0 24px;display:flex;justify-content:space-between;color:#a0abba;font-size:9px;letter-spacing:1px}.faculty-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:24px}.search{display:flex;align-items:center;background:#fff;border:1px solid #dfe5ee;border-radius:8px;padding:0 12px;gap:8px;color:#8d9db2;width:330px}.search input{width:100%;border:0;outline:0;padding:12px 0}.faculty-toolbar select{font-size:12px}.faculty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.teacher-card{display:block;text-align:left;border:1px solid var(--line);padding:25px;border-radius:12px;box-shadow:0 5px 14px #1b345303;transition:transform .2s,box-shadow .2s}.teacher-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 10px 25px #254d7910}.teacher-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.type-tag{font-size:10px;border-radius:4px;color:#6880a1;background:#f1f4f9;padding:4px 8px}.fulltime{background:#eef5f2;color:#5f8b7b}.teacher-card h2{display:flex;align-items:center;justify-content:space-between;font-size:19px;margin-bottom:9px}.teacher-card h2 svg{color:#afbbcd}.location{display:flex;align-items:center;gap:4px;font-size:10px;color:#92a0b3;margin-bottom:17px}.tags{display:flex;gap:5px;flex-wrap:wrap;min-height:25px}.tags span{padding:4px 8px;border:1px solid #e8edf4;border-radius:4px;font-size:9px;color:#6c809e}.resume-preview{color:#9aa6b6;font-size:11px;line-height:1.8;height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:16px 0 20px}.teacher-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.teacher-bottom strong{font-size:25px;letter-spacing:-.5px;font-weight:550;color:#36557f}.teacher-bottom b{font-size:15px;font-weight:500;color:#587297;display:block;margin-top:5px}.teacher-bottom span{display:block;font-size:9px;color:#9ba8b9;margin-top:5px}.teacher-bottom>div:last-child{text-align:right}.two-column{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-head h2,.section-head h3{margin:0}.section-head h2{font-size:17px}.count{font-size:11px;color:#6583aa;background:#edf2f9;padding:4px 8px;border-radius:6px;margin-left:8px;font-variant-numeric:tabular-nums;display:inline-block;animation:roll .3s}.amber-count{background:#faf3e7;color:#ae854c}.request-card{width:100%;display:flex;justify-content:space-between;text-align:left;border:1px solid var(--line);border-radius:8px;padding:19px;margin-bottom:12px}.request-card .eyebrow{font-size:9px;margin-bottom:8px;letter-spacing:1px}.request-card h3{font-size:14px}.request-card p{font-size:11px;color:#7d8ca0;margin:5px 0}.request-card>svg{color:#91a6c1}.change-card{border:1px solid #efe7da;border-radius:8px;padding:17px;margin-bottom:12px;background:#fffcf6}.change-card p{font-size:12px;color:#7d8ca0;margin:10px 0}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px;padding:5px 8px;background:#eff3f8;color:#6e83a0;border-radius:5px;white-space:nowrap}.status i{width:4px;height:4px;border-radius:50%;background:currentColor}.status.pending,.status.submitted{background:#fbf3e6;color:#ab834d}.status.approved,.status.confirmed,.status.scheduled{background:#edf6f2;color:#568b77}.status.cancelled,.status.rejected{background:#f7eeee;color:#ad777b}.space-top{margin-top:22px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{font-size:10px;color:#97a2b2;font-weight:500;background:#fafbfd;padding:14px;border-bottom:1px solid var(--line)}td{padding:17px 14px;border-bottom:1px solid var(--line);color:#63758f}td small{display:block;color:#9ca7b7;font-size:10px;margin-top:6px}tr:hover td{background:#fafcff}.empty{padding:50px 25px;text-align:center}.empty-icon{display:inline-flex;background:#f0f4f9;color:#9aafc9;padding:16px;border-radius:18px;margin-bottom:18px}.empty h3{font-size:15px;color:#657c9b;font-weight:500}.empty p{color:#9aa8ba;font-size:11px;max-width:390px;margin:10px auto 20px}.campus-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.campus-row h3{margin:0 0 5px}.campus-icon{display:flex;padding:12px;border-radius:10px}.directory-panel p{color:#7c8da4}.connection-info{display:flex;align-items:center;gap:8px;background:#f3f7fb;padding:18px;border-radius:8px;font-size:12px;margin:25px 0}.alert{display:flex;align-items:center;gap:10px;background:#fff0ed;border:1px solid #f1d6d0;color:#a9544c;padding:13px 17px;border-radius:8px;margin:0 0 18px;font-size:12px;line-height:1.6}.alert button{margin-left:auto;font-size:11px}.view-banner{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff7e9;color:#9b7c4f;border-radius:7px;margin-bottom:18px;font-size:12px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:100;background:#1d4a43;color:#fff;border-radius:10px;padding:15px 23px;display:flex;align-items:center;gap:9px;font-size:13px;box-shadow:0 8px 30px #254d7930;animation:drop .2s}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#15243a60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:80;display:flex;align-items:center;justify-content:center;padding:30px}.modal{position:relative;width:600px;max-width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:35px;box-shadow:0 25px 80px #10233f33;animation:drop .2s}.modal>h2{font-size:24px;margin-top:4px}.modal-close{position:absolute;right:16px;top:16px}.modal>.eyebrow{margin-top:7px}.modal-error{margin-top:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#6b7f99}.form-grid input,.form-grid select,.form-grid textarea{width:100%;color:#2d4568;padding:11px 12px}.form-grid textarea{resize:vertical}.field-hint{font-size:11px;line-height:1.9;color:#9aa7b9;padding:28px 0 0}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.modal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.info-box{background:#f3f6fb;border-radius:8px;padding:16px;line-height:1.8;font-size:12px;color:#607a9c}dl{display:grid;grid-template-columns:110px 1fr;font-size:13px;line-height:1.9;margin:25px 0}dt,dd{padding:10px 0;border-bottom:1px solid #f0f3f7;margin:0}dt{color:#92a0b3}dd{color:#526d92}.expense-row{padding:16px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;margin-top:14px}.expense-row .form-grid{margin-top:13px;gap:13px}.expense-detail{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:13px 0;border-bottom:1px solid var(--line)}.expense-detail small{display:block;color:#a0acbc;margin-top:5px}.profile-heading{display:flex;align-items:center;gap:23px;margin:0 0 26px}.large-avatar{height:85px;width:85px;font-size:30px;border-radius:23px}.profile-heading h2{font-size:27px;margin-bottom:6px}.profile-heading p{font-size:12px;margin:0}.profile-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:#f5f8fc;border-radius:10px;padding:23px;margin-bottom:27px}.profile-metrics strong{display:block;font-size:26px;font-weight:500;color:#35557e}.profile-metrics span{display:block;color:#94a3b8;font-size:10px;margin-top:7px}.biography{font-size:13px;color:#778ba5;line-height:2}.upload-button{font-size:13px;cursor:pointer}.member-list{max-height:300px;overflow:auto;border-top:1px solid var(--line)}.member-list label{display:flex;align-items:center;gap:13px;padding:15px 4px;border-bottom:1px solid var(--line);font-size:13px}.member-list small{margin-left:auto;color:#9da9b9}.full-input{width:100%;margin:10px 0}.selected-members{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}.selected-members span{display:inline-flex;align-items:center;gap:10px;background:#edf3fa;color:#55769f;border-radius:5px;padding:3px 8px;font-size:11px}.selected-members button{border:0;padding:0;background:none}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);min-width:700px}.month-weekday{text-align:center;padding:14px;font-size:11px;color:#97a5b7;background:#fafbfd}.month-cell{padding:10px;min-height:145px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.month-cell.outside{background:#fafbfd}.month-cell.is-today{background:#f4f8fe}.day-number{background:transparent;border:0;font-size:12px;padding:5px 8px;margin-bottom:4px}.month-cell .event{min-height:0;padding:5px 6px;gap:3px}.month-cell .event>span:last-child{display:none}.month-cell .event strong{font-size:10px}.month-cell .event-time{font-size:8px}.more-events{font-size:10px;border:0;padding:4px;background:transparent;color:#6584ac}.agenda{padding:0 24px}.agenda-day{display:grid;grid-template-columns:95px 1fr;border-top:1px solid var(--line);padding:20px 0}.agenda-day h3{font-size:18px;font-weight:500}.agenda-day h3 small{display:block;margin-top:8px;color:#9aa9bc;font-size:11px}.agenda-day>div{display:flex;gap:12px;flex-wrap:wrap}.agenda-day .event{max-width:210px}.welcome{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:#6c84a6}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:#fff}.login-art{position:relative;overflow:hidden;background:#173c69;color:#fff;padding:55px 10%;min-height:100vh}.login-art:after{content:"";position:absolute;height:650px;width:650px;border:1px solid #ffffff09;border-radius:50%;bottom:-350px;left:-100px;box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff02}.brand.light{display:flex;margin-bottom:95px;color:#fff;justify-content:flex-start;font-size:26px;font-weight:600}.brand.light small{color:#9fb6d1;font-size:8px;margin-left:7px;letter-spacing:1px}.brand.light .brandmark{background:#ffffff15;border:1px solid #ffffff26}.login-art>.eyebrow{color:#92aecf;font-size:9px;letter-spacing:2px}.login-art h1{font-size:46px;font-weight:500;letter-spacing:1px;line-height:1.55;margin:23px 0}.login-art p{color:#a8bfd9;font-size:13px;line-height:2}.abstract-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;width:90%;margin-top:65px;transform:perspective(700px) rotateY(-12deg) rotateX(12deg);position:relative;z-index:1}.abstract-calendar i{height:42px;background:#ffffff05;border:1px solid #ffffff10;border-radius:4px}.abstract-calendar i.filled{background:#8cadd236;border-left:3px solid #a9c1dd}.art-caption{display:block;font-size:10px;letter-spacing:8px;color:#7b9bc1;margin-top:55px}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:15%;position:relative}.login-panel h2{font-size:29px;font-weight:600;margin:10px 0 20px}.login-panel p{font-size:12px;line-height:2;color:#8b9aaf;margin-bottom:35px}.button.large{padding:17px 22px;justify-content:space-between}.login-panel>.small{line-height:2;margin-top:25px;font-size:10px}.login-panel footer{position:absolute;bottom:35px;color:#a3afbf;font-size:9px;letter-spacing:1px}.error-text{color:#b46b66!important;font-size:12px;line-height:1.8}@keyframes breathe{50%{opacity:.4;box-shadow:0 0 0 3px #c78f4315}}@keyframes drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes roll{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){main{padding-top:45px}.resource-grid{grid-template-columns:190px repeat(7,minmax(145px,1fr))}.resource-cell{min-height:145px}.stat{padding:23px 27px}.teacher-card{padding:30px}}@media(max-width:1150px){.topbar{padding:0 25px}.top-actions{gap:12px}.live,.nav-end{display:none}.nav-shell nav{margin:0 25px}.page-heading h1{font-size:26px}.date-label{display:none}.panel-top{align-items:flex-start;flex-direction:column}.calendar-tools{width:100%}.faculty-grid,.mega{grid-template-columns:repeat(3,1fr)}.mega>div{display:none}.faculty-toolbar .push-right{display:none}.stat-value{font-size:25px}.two-column{grid-template-columns:1fr 1fr}.login-art{padding:45px 9%}.login-art h1{font-size:38px}.login-panel{padding:12%}.brand.light small{display:none}}@media(max-width:760px){.topbar{height:67px;padding:0 18px}.brand b{font-size:20px}.brandmark{width:30px;height:30px;font-size:21px}.brand-divider,.brand>small,.top-actions>.icon-button,.identity>.avatar{display:none}.identity select{font-size:10px;max-width:120px}.identity strong{font-size:11px}.identity small{font-size:8px}.top-actions{gap:8px}.nav-shell nav{height:58px;margin:0 10px;gap:3px;overflow:auto}.nav-shell nav>button{font-size:11px;gap:6px;padding:11px 10px;flex-shrink:0}.nav-shell nav>button>svg:last-child{display:none}.mega{display:none}main{padding:26px 16px 0}.page-heading{align-items:flex-start;gap:15px;margin-bottom:22px}.page-heading h1{font-size:22px;letter-spacing:-.6px}.page-heading p{font-size:10px;max-width:200px;line-height:1.8}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:10px}.heading-actions{padding-top:24px}.heading-actions button{font-size:10px;padding:9px 10px;gap:3px;white-space:nowrap}.heading-actions button svg{width:13px}.stats-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.stat{padding:14px 15px 12px}.stat>.row-between{font-size:10px}.stat-value{font-size:25px;margin:8px 0}.stat p{font-size:9px}.stat-icon{padding:5px}.stat-icon svg{width:12px;height:12px}.panel-top{padding:18px 15px 12px;gap:15px}.panel-top h2{font-size:18px}.panel-top h2 .small{font-size:9px}.calendar-tools{flex-wrap:wrap;gap:3px}.segmented{margin-right:auto}.segmented button{font-size:10px!important;padding:6px 9px!important}.calendar-tools input{max-width:116px;font-size:10px}.calendar-tools>.icon-button{padding:4px}.calendar-tools>button{padding:5px;font-size:10px}.filters{padding:12px 15px;gap:7px}.filters select,.filters input{font-size:10px;max-width:125px;padding:7px}.filter-label{display:none}.filters .text-button{font-size:10px;margin-left:0}.resource-scroll{max-height:620px}.resource-grid{grid-template-columns:120px repeat(7,minmax(120px,1fr));min-width:960px}.resource-label{padding:14px 10px;gap:7px}.resource-label .avatar{width:28px;height:28px;font-size:10px}.resource-label strong{font-size:11px}.resource-head{padding:20px 12px;font-size:10px}.resource-head small{font-size:8px}.calendar-footer{padding:13px 15px;align-items:flex-start;flex-direction:column;gap:10px;font-size:8px}.below-calendar{align-items:flex-start}.tip>svg{display:none}.tip strong{font-size:10px}.tip p{font-size:9px;max-width:220px}.pending-link{min-width:110px;font-size:10px;padding:12px;gap:4px}.pending-link b{margin-left:6px}.pending-link svg{width:14px}.faculty-toolbar{flex-wrap:wrap;gap:8px}.faculty-toolbar .search{width:100%}.faculty-toolbar select{font-size:11px;flex:1}.faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-card{padding:17px}.teacher-card-top{margin-bottom:17px}.teacher-card .avatar{height:42px;width:42px;font-size:15px;border-radius:12px}.teacher-card h2{font-size:17px}.teacher-card h2 svg{width:15px}.type-tag{font-size:8px;padding:4px 6px}.teacher-bottom{gap:7px;flex-wrap:wrap}.teacher-bottom strong{font-size:23px}.teacher-bottom b{font-size:13px}.teacher-bottom span{font-size:8px}.teacher-bottom>div:last-child{text-align:left}.resume-preview{font-size:10px}.location{font-size:9px}.tags span{font-size:8px;padding:3px 5px}.two-column{grid-template-columns:1fr;gap:16px}.panel{padding:19px 16px}.section-head h2{font-size:16px}.section-head>.small{font-size:9px}.request-card{padding:15px}.request-card h3{font-size:13px}.request-card p,.request-card .small{font-size:10px}.empty{padding:35px 15px}.empty h3{font-size:13px}.empty p{font-size:10px}.page-footer{font-size:8px;padding:25px 0}.modal-backdrop{padding:12px}.modal{padding:27px 20px;max-height:94vh;border-radius:13px}.modal.wide{width:100%}.modal>h2{font-size:21px;padding-right:20px}.modal>p{font-size:11px}.form-grid{gap:14px 12px}.form-grid label{font-size:11px}.form-grid input,.form-grid select{font-size:12px;padding:10px 8px}.form-footer .small{font-size:9px}.form-footer button{font-size:12px}.profile-heading{gap:15px}.large-avatar{width:62px;height:62px;font-size:22px}.profile-heading h2{font-size:24px}.profile-heading p{font-size:10px}.profile-metrics{gap:13px;padding:17px}.profile-metrics strong{font-size:20px}.profile-metrics span{font-size:8px}.biography{font-size:12px}dl{grid-template-columns:90px 1fr;font-size:12px}.modal-actions button,.upload-button{font-size:11px}.calendar-panel:has(.month-grid){overflow:auto}.agenda{padding:0 15px}.agenda-day{grid-template-columns:65px 1fr}.agenda-day .event{max-width:100%}.login{display:flex;flex-direction:column;min-height:100vh}.login-art{min-height:0;padding:28px 30px 30px}.brand.light{margin-bottom:45px}.login-art h1{font-size:32px;margin:18px 0}.login-art p{font-size:11px;margin:0}.abstract-calendar,.art-caption{display:none}.login-panel{padding:35px 30px 75px;flex:1}.login-panel h2{font-size:25px;margin:5px 0 15px}.login-panel p{font-size:11px;margin-bottom:22px}.login-panel footer{bottom:25px}.toast{max-width:90%;width:max-content;font-size:12px;padding:13px 18px}.alert{font-size:11px}.view-banner{font-size:10px}}.teacher-availability{display:block;color:#6f8aab;font-size:10px;margin:-6px 0 14px}.nav-badge{display:inline-flex;align-items:center;justify-content:center;background:#dce7f5;color:#4e72a4;min-width:18px;height:18px;border-radius:5px;font-size:9px;overflow:hidden;animation:roll .3s;transition:width .2s,transform .2s,opacity .2s}.nav-badge.seen{width:0;min-width:0;transform:scale(0);opacity:0;margin-left:-8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.page-heading{flex-direction:column;gap:12px}.page-heading p{max-width:none}.heading-actions{padding-top:0;width:100%;justify-content:flex-end}.page-heading h1{font-size:22px}.teacher-availability{font-size:9px}}.event-time{font-size:10px}.event>span:last-child{font-size:10px}.teacher-bottom span{font-size:10px}.resume-preview{font-size:12px}.calendar-footer{font-size:10px}:root{--ink:#22251f;--muted:#797c73;--paper:#f0f0e9;--line:#e7e8e0;--accent:#ff6335;--navy:#242722;--blue:#376452;color:var(--ink);background:var(--paper);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}body{background:var(--paper)}button,.button,input,textarea{border-radius:12px;color:var(--ink);font-size:13px}button,.button{font-weight:550;border-color:#dedfd5;padding:11px 17px;transition:background .18s,box-shadow .18s,transform .18s}button:hover,.button:hover{background:#e9ebe2;border-color:#d0d4c7}button:active{transform:scale(.98)}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #fb9b7c;outline-offset:3px}.primary{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:none}.primary:hover{background:#3b4237;border-color:#3b4237;color:#fff;box-shadow:0 6px 18px #20251e14}.heading-actions .primary{background:var(--accent);color:#252722;border-color:var(--accent);border-radius:999px;padding:15px 23px;box-shadow:0 5px 16px #ff63351a}.heading-actions .primary:hover{background:#f35022;border-color:#f35022;box-shadow:0 7px 24px #ff63352c}.muted{color:#85887e}.small{font-size:12px}.text-button{color:#4e665a}.danger{color:#a65340}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.1px;color:#92958a}.topbar{max-width:1660px;height:94px;background:transparent;border:0;padding:0 36px;margin:0 auto}.brand{background:none!important;padding:0!important;box-shadow:none!important;transform:none!important}.brand-lockup{display:inline-flex;align-items:center;gap:12px;text-align:left;white-space:nowrap}.brand-lockup>img{width:48px;height:48px;object-fit:contain}.brand-wordmark{display:flex;flex-direction:column;gap:5px}.brand-wordmark>strong{font-size:24px;letter-spacing:2px;line-height:1.1;font-weight:750;color:#0c357f}.brand-wordmark>small{font-size:9px;letter-spacing:2.1px;color:#36517d;line-height:1}.top-actions{gap:25px}.live{font-size:11px;color:#7b8477}.live i{background:#62876b}.identity{gap:10px}.identity strong{font-size:13px;color:#383c32}.identity small{font-size:10px;color:#93968c}.identity>.custom-select{margin-left:8px;min-width:143px}.identity .select-trigger{background:#e4e6dd;border:0;padding:10px 14px;border-radius:999px;font-size:11px;min-height:35px}.avatar.mini{background:#dce2d3;color:#526144;width:37px;height:37px;font-weight:600}.top-actions>.icon-button{border:1px solid #dddfd5;border-radius:50%;width:36px;height:36px;padding:0}.nav-shell{background:transparent;box-shadow:none;max-width:1660px;margin:0 auto;padding:0 36px;z-index:30}.nav-shell nav{margin:0;padding:7px;background:#fafbf6;border:1px solid #e1e3d8;border-radius:999px;height:62px;gap:5px;box-shadow:0 4px 12px #333b2110}.nav-shell nav>button{padding:14px 23px;font-size:13px;gap:9px;color:#71766b;background:transparent;border-radius:999px}.nav-shell nav>button.selected{color:#fff;font-weight:550}.nav-shell nav>button:hover:not(.selected){background:#eef0e8;color:#2d3327}.nav-highlight{height:46px;top:7px;background:var(--ink);border-radius:999px;box-shadow:0 3px 8px #1b201c15}.nav-end{font-size:11px;letter-spacing:.3px;color:#70796a;gap:9px;display:flex;align-items:center;margin-right:18px}.workspace-dot{height:6px;width:6px;border-radius:50%;background:#92a381}.workspace-label{color:#b1b6a9;font-size:8px;letter-spacing:1.3px;margin-left:8px}.nav-badge{background:#ff7957;color:#292c23;border-radius:50%;min-width:18px;height:18px}.nav-badge.seen{min-width:0}.unread-dot{background:#ff8c6d}main{max-width:1660px;padding:37px 36px 0}.page-heading{margin-bottom:28px;align-items:center}.page-heading .eyebrow{margin-bottom:10px}.page-heading h1{font-size:35px;letter-spacing:-1.4px;font-weight:680;line-height:1.5;margin-bottom:8px;color:#292c23}.page-heading p{font-size:13px;color:#8c9183}.heading-actions{gap:22px}.date-label{font-size:11px;color:#909683;font-variant-numeric:tabular-nums}.stats-row{grid-template-columns:1.12fr 1.12fr 1fr 1fr;gap:15px;margin-bottom:24px}.stat{position:relative;overflow:hidden;border:0;border-radius:22px;padding:23px 25px 21px;background:#fafbf5;min-height:190px;box-shadow:none;display:flex;flex-direction:column;isolation:isolate;transition:transform .2s,box-shadow .2s}.stat>.row-between{font-size:13px;color:#606751;font-weight:550}.stat-icon{color:inherit;background:#e9ecdf;border-radius:9px;padding:7px}.stat-icon svg{width:17px;height:17px}.stat-value{font-size:46px;letter-spacing:-1.8px;line-height:1.1;margin:15px 0 12px;color:#25291e;font-weight:650;position:relative;z-index:1}.stat-value small{color:inherit;opacity:.6;margin-left:9px;font-size:12px;letter-spacing:0}.stat p{font-size:10px;color:#9b9e90;margin:0;position:relative;z-index:1}.stat-pattern{display:flex;gap:5px;align-items:flex-end;position:absolute;bottom:20px;right:22px;opacity:.15;transform:rotate(-13deg);z-index:-1}.stat-pattern i{display:block;width:19px;height:25px;border-radius:4px;background:currentColor}.stat-pattern i:nth-child(2n){height:40px}.stat-pattern i:nth-child(3n){height:55px}.stat:first-child{background:#272a23;color:#c6d3ae}.stat:first-child>.row-between{color:#d5dcc8}.stat:first-child .stat-icon{background:#ffffff0d;color:#c6d5ae}.stat:first-child .stat-value{color:#f4f6eb}.stat:first-child p{color:#929b86}.stat:first-child .stat-pattern{opacity:.16;color:#d6e8b5}.stat:nth-child(2){background:var(--accent);color:#432d1e}.stat:nth-child(2)>.row-between{color:#4b301f}.stat:nth-child(2) .stat-icon{background:#ffffff25;color:#552f22}.stat:nth-child(2) .stat-value{color:#28271e}.stat:nth-child(2) p{color:#793c28}.stat:nth-child(2) .stat-pattern{opacity:.22;color:#ffe7c8}.stat:nth-child(3){background:#f9faf4;border:1px solid #e2e5d7}.stat:nth-child(4){background:#e0e6d5}.stat:nth-child(4) .stat-icon{background:#d4ddc5}.stat:nth-child(4) p{color:#879079}.clickable:hover{transform:translateY(-3px);box-shadow:0 10px 20px #3441260c}.calendar-panel,.panel{background:#fbfcf7;border:1px solid #e1e5d7;border-radius:22px;box-shadow:none}.panel{padding:26px}.panel-top{padding:25px 25px 18px;gap:20px}.panel-top h2{font-size:23px;letter-spacing:-.6px;font-weight:600;color:#343b2b}.panel-top h2 .small{color:#939b86;font-size:11px;font-weight:400}.section-kicker{font-size:10px;letter-spacing:1px;color:#929a87;margin-bottom:9px}.calendar-tools{gap:5px}.calendar-tools>button{background:#f0f2e9;border:0;border-radius:50%;font-size:11px;min-width:34px;height:34px;padding:6px}.calendar-tools>button:not(.icon-button){border-radius:999px;padding:6px 13px}.calendar-tools input{background:transparent;border-color:#dde2d1;border-radius:999px;padding:8px 12px;color:#667257}.segmented{background:#e9ecdf;border-radius:999px;padding:4px;margin-right:14px}.segmented button{font-size:11px;padding:8px 14px;border-radius:999px;color:#858c7b;transition:background .2s,color .2s}.segmented button.active{background:#fff;color:#37442c;box-shadow:0 2px 7px #353b2010}.filters{padding:8px 25px 20px;gap:9px}.filter-label{font-size:11px;color:#9da58e;margin-right:7px}.filters input{max-width:155px;padding:10px 13px;border-radius:999px;background:#f3f5ec;border-color:transparent;font-size:11px}.filters>.custom-select{min-width:126px;max-width:190px}.filters .select-trigger{min-height:36px;padding:8px 13px;font-size:11px;border-radius:999px;background:#eef1e5;border-color:transparent}.filters .text-button{font-size:11px;border-radius:999px;background:transparent;color:#6d7f59;padding:8px 10px}.filters .text-button:hover{background:#e9eddf}.resource-scroll{border-color:#e5e8dc;max-height:640px}.resource-grid{grid-template-columns:180px repeat(7,minmax(120px,1fr));min-width:1030px}.resource-head,.day-head{height:79px;background:#f0f3e8;border-color:#e0e5d5}.resource-head{color:#788365;font-size:11px;padding:20px}.resource-head small{color:#a1a991;font-size:9px}.day-head{gap:10px}.day-head span{font-size:10px;color:#9aa38c}.day-head b{font-size:22px;color:#6b775c;font-weight:550}.day-head.is-today{background:#e9eedc}.day-head.is-today b{background:#252c20;border-radius:10px;width:33px;height:33px;font-size:17px}.day-head small{font-size:9px;color:#77865d}.resource-label{background:#fbfcf7;border-color:#e8ebdf;box-shadow:1px 0 #e5e9db;min-height:122px;padding:19px}.resource-label .avatar{width:37px;height:37px;border-radius:12px;background:#e8ecde;color:#758265;font-size:11px}.resource-label strong{font-size:12px;color:#4a553d}.resource-label small{font-size:10px;color:#a1a98f}.resource-cell{border-color:#e8ecdf;background:#fcfdf9;min-height:122px;padding:9px 7px}.resource-cell.today-column{background:#f6f8ee}.free-slot{color:#e0e6d3;font-size:14px;padding:32px 0}.event{border-radius:10px;border:0;border-left:3px solid var(--event-color);padding:10px 10px 11px;gap:5px;background:color-mix(in srgb,var(--event-color) 11%,#fcfdf8);min-height:88px;transition:transform .15s,background .15s,box-shadow .15s}.event:hover{box-shadow:0 3px 10px #3441260d;transform:translateY(-2px);background:color-mix(in srgb,var(--event-color) 18%,#fcfdf8)}.event strong{font-size:12px;letter-spacing:-.2px}.event-time{font-size:10px;font-weight:600;opacity:.9}.event>span:last-child{font-size:10px;opacity:.75}.changing{border-top:1px dashed #c28b4c}.block-event{color:#949a86;background:repeating-linear-gradient(135deg,#f1f2eb,#f1f2eb 5px,#f7f8f2 5px,#f7f8f2 10px)}.cancelled-event{opacity:.45}.calendar-footer{font-size:10px;padding:17px 23px;color:#9aa18d}.legend-dot{background:#6e8a59}.legend-dot.amber{background:var(--accent)}.legend-dot.gray{background:#b0b79e}.calendar-footer span{gap:8px}.below-calendar{margin-top:20px}.tip{color:#a7b298}.tip strong{color:#859273;font-size:11px}.tip p{color:#a0aa92;font-size:10px}.pending-link{background:#e6ebdc;border:0;border-radius:14px;color:#72865b;padding:17px 20px;font-size:11px}.pending-link b{color:#3f582c}.faculty-toolbar{margin-bottom:25px;gap:12px}.faculty-toolbar .search{width:350px;background:#fbfcf7;border-color:#dde3d3;border-radius:999px;padding:0 17px}.search input{background:transparent;padding:13px 0;border:0;font-size:12px}.faculty-toolbar>.custom-select{min-width:150px}.faculty-toolbar .select-trigger{border-radius:999px;background:#fafbf5;border-color:#dde3d3;font-size:12px;padding:11px 16px}.faculty-toolbar>.small{font-size:11px;color:#9aa58b}.faculty-grid{grid-template-columns:repeat(4,1fr);gap:18px}.teacher-card{background:#fbfcf7;border:1px solid #e0e5d6;border-radius:22px;padding:25px;box-shadow:none;position:relative;overflow:hidden}.teacher-card:hover{background:#fff;box-shadow:0 12px 24px #3648230c;border-color:#c9d1bb;transform:translateY(-4px)}.teacher-card-top{margin-bottom:22px}.teacher-card .avatar{width:67px;height:67px;border-radius:20px;background:#e4eada;color:#5d7047;font-size:23px}.type-tag{border-radius:999px;padding:6px 10px;background:#edf0e4;color:#7c8b65;font-size:10px}.type-tag.fulltime{background:#e9e3d4;color:#9b865e}.teacher-card h2{font-size:23px;font-weight:600;color:#364329;letter-spacing:-.7px;margin-bottom:10px}.teacher-card h2 svg{background:#eef1e5;border-radius:50%;height:28px;width:28px;padding:6px;color:#90a077}.location{font-size:11px;color:#9ca78f;margin-bottom:14px}.teacher-availability{font-size:10px;color:#899d71;margin-bottom:17px}.tags{gap:6px;min-height:25px}.tags span{border:0;background:#f0f3e8;color:#7c8c65;border-radius:7px;font-size:10px;padding:5px 8px}.resume-preview{color:#a0aa91;font-size:11px;line-height:1.9;margin-top:19px;height:42px}.teacher-bottom{border-color:#e9eddf;padding-top:19px}.teacher-bottom strong{font-size:30px;font-weight:550;color:#485f33}.teacher-bottom b{font-size:16px;color:#687b51}.teacher-bottom span{font-size:10px;color:#a0ac8e;margin-top:6px}.section-head h2{font-size:19px;color:#3d4a30;letter-spacing:-.5px}.section-head .muted{color:#9ca98d;font-size:11px}.count{border-radius:999px;background:#e7edda;color:#788e5d;font-size:11px;padding:5px 9px}.amber-count{background:#ffe9d7;color:#bd7b48}.request-card{border:0;background:#f1f4e9;border-radius:15px;padding:20px;margin-bottom:12px}.request-card:hover{background:#e9efdd;border:0}.request-card .eyebrow{color:#92a47b;font-size:9px}.request-card h3{font-size:16px;color:#4c5c3b}.request-card p{font-size:11px;color:#91a079}.request-card .small{font-size:11px;color:#a4b08e}.request-card>svg{border-radius:50%;background:#e3ebd5;padding:5px;width:29px;height:29px;color:#80976a}.change-card{background:#fff4e9;border-color:#efdfc9;border-radius:15px;padding:20px}.change-card h3{color:#81633b}.change-card p{color:#a88c68;font-size:12px}.change-card button{font-size:11px;border-radius:999px;background:#fffaf4;border-color:#ebddc9;color:#9d7d52}.status{border-radius:999px;font-size:10px;padding:6px 10px;background:#e9eddf;color:#7d8b65}.status.confirmed,.status.approved,.status.scheduled{background:#e6edda;color:#708b50}.status.pending,.status.submitted{background:#ffeadb;color:#b88655}.status.cancelled,.status.rejected{background:#f4e5de;color:#b5826e}table{font-size:12px}th{background:#f1f4e9;border-color:#e5eadb;color:#8c9b78;padding:15px;font-size:11px}td{border-color:#e9eddf;color:#728360;padding:19px 15px}td small{color:#a1af8f;font-size:10px}tr:hover td{background:#f4f7ec}.empty{padding:52px 24px}.empty-icon{background:#edf1e4;color:#a9b997;border-radius:20px;padding:18px}.empty h3{color:#83976c;font-size:15px}.empty p{color:#a8b697;font-size:12px;line-height:1.9}.empty button{border:0;border-radius:999px;background:#e9efdd;color:#809566;font-size:12px;padding:11px 18px}.directory-panel p{color:#90a279}.connection-info{background:#edf2e3;color:#889f6d;border-radius:14px}.campus-row{border-color:#e6ecdb;padding:20px 0}.campus-row h3{color:#627d45}.campus-row button{border-radius:999px;background:#f0f5e7;border-color:#e0e8d3;color:#88a06b;font-size:11px}.campus-row .muted{color:#adbb99}.campus-icon{border-radius:14px}.panel>h2{font-size:19px;color:#637c46}.two-column{gap:22px}.page-footer{color:#a7b29b;font-size:9px;letter-spacing:.8px;padding:27px 0 22px}.alert{background:#fff0e9;border:1px solid #f3d2c1;color:#b3714e;border-radius:13px}.view-banner{background:#f5ead5;color:#ad8c56;border-radius:13px}.toast{background:#2b3c20;color:#edf5e1;border-radius:999px;padding:15px 23px;font-size:12px;box-shadow:0 8px 30px #33452324}.custom-select{display:inline-block;position:relative;min-width:0;max-width:100%;vertical-align:middle}.select-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe5d3;border-radius:12px;background:#f8faf2;padding:12px 14px;min-height:43px;color:#657b4d;font-size:12px;font-weight:450;white-space:nowrap;text-align:left}.select-trigger>span{overflow:hidden;text-overflow:ellipsis;min-width:0}.select-trigger>svg{color:#9cac8a;flex-shrink:0;transition:transform .2s}.select-trigger.is-open{background:#fff;border-color:#b4c29e;box-shadow:0 0 0 3px #cbd8b72b}.select-trigger.is-open>svg{transform:rotate(180deg)}.custom-select.invalid .select-trigger{border-color:#d88c72}.select-value-input{position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}.select-popover{position:fixed;z-index:150;display:flex;flex-direction:column;padding:7px;background:#fffffc;border:1px solid #e0e6d6;border-radius:16px;box-shadow:0 15px 45px #35462320,0 3px 8px #33451f08;animation:select-in .15s ease-out;overflow:hidden}.select-search{display:flex;gap:9px;align-items:center;flex-shrink:0;margin:3px 3px 7px;padding:0 11px;background:#f0f4e7;border-radius:10px;color:#a4b38e}.select-search input{border:0;background:transparent;padding:11px 0;width:100%;font-size:12px;color:#718a54;outline:none!important}.select-search input::placeholder{color:#aab99a}.select-options{overflow:auto;overscroll-behavior:contain;padding:2px;min-height:0}.select-option{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;padding:12px 13px;border:0;border-radius:10px;background:transparent;color:#859c69;font-size:12px;font-weight:450;gap:12px;min-height:42px}.select-option:hover,.select-option[data-active=true]{background:#f1f6e8;border:0;color:#678644}.select-option.is-selected{background:#eaf1dd;color:#6b8848;font-weight:600}.select-option.is-selected>svg{color:#8aab63}.select-no-results{padding:20px 13px;color:#a7b794;font-size:12px;margin:0}.select-footnote{font-size:9px;color:#bac5ab;padding:10px 10px 4px;display:flex;justify-content:space-between;flex-shrink:0;border-top:1px solid #f0f4e8;margin-top:6px}@keyframes select-in{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{background:#27331d55;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);padding:28px}.modal{background:#fffffc;border:1px solid #eff4e8;border-radius:25px;box-shadow:0 25px 90px #24321730;padding:34px;width:640px;max-height:92vh}.modal.wide{width:850px}.modal>h2{font-size:27px;letter-spacing:-.8px;color:#516e36;margin-top:6px}.modal>.eyebrow{color:#acbd97;font-size:9px}.modal>p{font-size:12px;color:#a1b28a}.modal-close{right:17px;top:17px;background:#f1f6e9;border-radius:50%;padding:7px;color:#a1b48a}.modal .form-grid{margin-top:25px;gap:19px 18px}.form-grid label{color:#93aa78;font-size:12px;gap:9px}.form-grid input,.form-grid textarea{color:#78955c;background:#f6faee;border:1px solid #e5edd9;border-radius:12px;padding:13px 14px;font-size:12px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#becbae}.form-grid input:focus,.form-grid textarea:focus{border-color:#c7d8b1;background:#fcfff6}.form-grid .custom-select{display:block}.form-grid .select-trigger{background:#f6faee;border-color:#e5edd9;color:#78955c;min-height:44px;padding:13px 14px;font-size:12px}.form-grid textarea{line-height:1.9}.field-hint{font-size:11px;color:#b3c09f;line-height:1.9}.form-footer{border-color:#eef4e5;padding-top:21px;margin-top:26px}.form-footer>.small{color:#b2c19e;font-size:10px}.form-footer .primary{background:#314623;color:#f7fff0;border-color:#314623;border-radius:999px;padding:13px 22px}.form-footer .primary:hover{background:#486235}.modal-actions button,.upload-button{border-radius:999px;font-size:12px}.modal-actions .primary{background:#3c542a;color:#fbfff6}.modal-actions .danger{color:#b58765}.info-box{background:#f0f7e5;color:#9db57e;border-radius:13px;font-size:12px}.error-text{color:#bc8d6c!important}.modal dl{font-size:12px;grid-template-columns:100px 1fr}.modal dt,.modal dd{border-color:#f0f6e7;padding:12px 0}.modal dt{color:#b3c59d}.modal dd{color:#8ba86d}.profile-heading h2{color:#637f47;font-size:30px}.profile-heading .eyebrow{color:#b8caa2}.profile-heading .muted{color:#a7bd8e}.large-avatar{border-radius:23px;background:#edf4e4;color:#a1b88a}.profile-metrics{background:#f0f7e6;border-radius:17px;padding:24px}.profile-metrics strong{color:#91ad73;font-size:29px}.profile-metrics span{color:#b0c59a;font-size:11px}.biography{color:#adc098;font-size:12px}.modal>h3{color:#a1b889}.expense-row{background:#f4f9ed;border-color:#e6f0dc;border-radius:16px}.expense-row .custom-select{display:block}.expense-detail{border-color:#eff6e6;color:#a7c08d}.expense-detail small{color:#bfd0aa}.selected-members span{background:#edf5e2;color:#aec597;border-radius:999px;padding:7px 12px}.member-list{border-color:#eef5e4}.member-list label{border-color:#eef5e4;color:#abc78d}.member-list small{color:#c6d7b2}.member-list input{accent-color:#9dbd79}.full-input{background:#f3f9e9;border-color:#e3efd6;color:#acc393}.teacher-photo-upload{position:relative;display:flex;align-items:center;gap:22px;padding:20px;background:#f3f8eb;border:1px dashed #d3e3bf;border-radius:17px;transition:background .2s,border-color .2s}.teacher-photo-upload.is-dragging{background:#e5f2d2;border-color:#a9c481}.photo-preview{display:flex;align-items:center;justify-content:center;width:96px;height:112px;flex-shrink:0;background:#e7f0db;border:1px solid #dae9c6;border-radius:14px;color:#b1c994;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-upload-copy>strong{display:block;font-size:14px;color:#8ca96c}.photo-upload-copy p{font-size:11px;color:#b3c89e;margin:7px 0 12px;line-height:1.8}.photo-upload-copy small{display:block;font-size:10px;color:#becead;margin-top:10px;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-upload-button{display:inline-flex!important;flex-direction:row!important;gap:7px!important;align-items:center;position:relative;background:#fff;border:1px solid #dce9ca;border-radius:999px;padding:9px 14px;font-size:11px!important;color:#9db580!important;cursor:pointer;overflow:hidden}.photo-upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0!important}.clear-photo{position:absolute;right:10px;top:10px;color:#b8cba4}.month-grid{border-color:#e2ebd7}.month-weekday{background:#f1f6e8;color:#aec497;font-size:11px}.month-cell{border-color:#edf4e3;min-height:150px}.month-cell.outside{background:#f9fcf4}.month-cell.is-today{background:#f1f9e5}.month-cell .event{border-radius:7px}.month-event-header{display:flex;align-items:flex-start;gap:6px;width:100%}.month-event-header .event-time{flex:1;min-width:0;flex-wrap:wrap;gap:2px 4px}.month-event-header .event-demo{margin-left:0}.month-event-campus{max-width:52%;margin-left:auto;text-align:right;font-size:8px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;opacity:.85}.month-event-teacher{font-weight:500;white-space:nowrap}.day-number{color:#9db885}.month-cell.is-today .day-number{background:#4e6b36;color:#fff;border-radius:10px}.more-events{color:#b0ca94;font-size:10px}.agenda-day{border-color:#e7f0dc}.agenda-day h3{color:#a8c38c}.agenda-day h3 small{color:#bed2a6}.agenda-day .muted{color:#bad0a1}.login{background:#f4f6ec}.login-art{background:#242d1e;color:#f1f7e8;padding:50px 11%;min-height:100vh}.brand.light{margin-bottom:100px}.brand-light .brand-wordmark strong,.brand-light .brand-wordmark small{color:#e6f0d9}.brand-light>img{filter:brightness(0) invert(1);opacity:.9}.login-art>.eyebrow{color:#94ab7d}.login-art h1{font-size:48px;line-height:1.55;color:#edf5e0;font-weight:500}.login-art p{color:#a1b58c;font-size:13px;line-height:2.2}.abstract-calendar i{background:#ffffff05;border-color:#b9d59316;border-radius:8px}.abstract-calendar i.filled{background:#ff6335d9;border:0}.art-caption{color:#82986a;font-size:10px}.login-panel{padding:14%}.login-panel h2{font-size:31px;color:#627f44;letter-spacing:-.7px}.login-panel p{color:#a5bb8d;font-size:12px;line-height:2}.login-panel .eyebrow{color:#b8cba1}.button.large{border-radius:999px;padding:18px 23px;background:#ff6335;color:#4e3c2a;border-color:#ff6335;font-size:13px}.login-panel .muted,.login-panel footer{color:#b6c8a0}.login-art:after{border-color:#a9c3870d;box-shadow:0 0 0 70px #96b57304,0 0 0 140px #96b57303}.welcome{background:#f2f6e9;color:#afc499}.welcome .brand-lockup{margin-bottom:20px}@media(min-width:1600px){.page-heading h1{font-size:40px}.stat{min-height:203px;padding:26px 28px}.stat-value{font-size:52px}.resource-grid{grid-template-columns:195px repeat(7,minmax(140px,1fr))}}@media(max-width:1200px){.topbar,.nav-shell{padding:0 26px}.nav-shell nav>button{padding:13px 19px}.workspace-label{display:none}.nav-end{display:flex;margin-right:10px;font-size:10px}main{padding:30px 26px 0}.page-heading h1{font-size:30px}.stats-row{gap:12px}.stat{padding:21px;min-height:180px}.stat-value{font-size:39px}.stat-pattern{right:14px;bottom:18px}.stat-pattern i{width:13px}.faculty-grid{grid-template-columns:repeat(3,1fr)}.calendar-tools{width:auto}.panel-top{flex-direction:column;align-items:flex-start}.calendar-tools{width:100%}.brand-wordmark>strong{font-size:22px}.brand-lockup>img{width:43px;height:43px}.brand-wordmark>small{font-size:8px}.faculty-toolbar>.custom-select{min-width:140px}}@media(max-width:760px){.topbar{height:83px;padding:0 18px}.brand-lockup{gap:8px}.brand-lockup>img{width:35px;height:35px}.brand-wordmark>strong{font-size:19px;letter-spacing:1px}.brand-wordmark>small{font-size:6px;letter-spacing:1.8px}.top-actions{gap:8px}.identity{gap:5px}.identity strong{font-size:11px}.identity small{font-size:8px}.identity>.custom-select{min-width:0;width:107px;margin-left:3px}.identity .select-trigger{padding:7px 9px;font-size:9px;gap:5px;min-height:31px}.identity .select-trigger svg{width:11px}.nav-shell{padding:0 12px}.nav-shell nav{height:55px;padding:5px;gap:2px;overflow:auto;border-radius:999px;scrollbar-width:none}.nav-shell nav::-webkit-scrollbar{display:none}.nav-highlight{top:5px;height:43px;border-radius:999px}.nav-shell nav>button{padding:13px 14px;font-size:11px;gap:6px}.nav-shell nav>button>svg{width:15px}.nav-end{display:none}.nav-badge{font-size:8px;height:16px;min-width:16px}main{padding:27px 15px 0}.page-heading{gap:14px;margin-bottom:20px;align-items:flex-start}.page-heading h1{font-size:26px;letter-spacing:-1px;line-height:1.5}.page-heading .eyebrow{font-size:8px;letter-spacing:1.7px}.page-heading p{font-size:11px}.heading-actions{padding-top:0;justify-content:flex-start}.heading-actions .primary{font-size:11px;padding:12px 18px;gap:6px}.heading-actions .primary svg{width:14px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:19px}.stat{border-radius:18px;padding:17px 18px 18px;min-height:161px}.stat>.row-between{font-size:11px;gap:6px}.stat-value{font-size:36px;letter-spacing:-1.4px;margin:15px 0 10px}.stat-value small{font-size:10px;margin-left:6px}.stat-icon{padding:5px;border-radius:6px}.stat-icon svg{height:13px;width:13px}.stat p{font-size:9px}.stat-pattern{right:11px;bottom:15px;gap:3px}.stat-pattern i{width:10px;height:14px}.stat-pattern i:nth-child(2n){height:23px}.stat-pattern i:nth-child(3n){height:34px}.calendar-panel,.panel{border-radius:19px}.panel-top{padding:20px 17px 12px;gap:18px}.section-kicker{font-size:9px}.panel-top h2{font-size:20px}.panel-top h2 .small{font-size:10px}.calendar-tools{gap:4px;flex-wrap:wrap}.segmented{margin-right:auto;padding:3px}.segmented button{padding:7px 10px!important;font-size:10px!important}.calendar-tools>button{min-width:29px;height:29px;padding:5px}.calendar-tools>button:not(.icon-button){padding:4px 10px;font-size:10px}.calendar-tools input{font-size:10px;max-width:120px;padding:7px 10px}.filters{padding:12px 16px 17px;gap:7px}.filters>.custom-select{min-width:0;max-width:170px}.filters .select-trigger{padding:9px 12px;font-size:10px;min-height:34px}.filters input{padding:9px 12px;font-size:10px;max-width:122px}.filters .text-button{font-size:10px;padding:7px 5px}.resource-grid{grid-template-columns:125px repeat(7,minmax(122px,1fr));min-width:979px}.resource-head{padding:20px 13px;font-size:10px}.resource-head small{font-size:8px}.resource-label{padding:15px 11px;gap:8px}.resource-label .avatar{height:30px;width:30px;border-radius:10px;font-size:10px}.resource-label strong{font-size:11px}.resource-label small{font-size:9px}.calendar-footer{font-size:9px;padding:14px 16px;gap:11px}.tip strong{font-size:10px}.tip p{font-size:9px}.pending-link{font-size:10px;min-width:115px;border-radius:13px;padding:13px}.below-calendar{gap:12px}.faculty-toolbar{gap:9px;margin-bottom:20px}.faculty-toolbar .search{width:100%;padding:0 15px}.faculty-toolbar>.custom-select{min-width:0;flex:1}.faculty-toolbar .select-trigger{font-size:11px;padding:11px 14px}.faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.teacher-card{padding:19px 16px;border-radius:20px}.teacher-card .avatar{height:54px;width:54px;border-radius:17px;font-size:18px}.type-tag{font-size:8px;padding:5px 7px}.teacher-card-top{margin-bottom:20px}.teacher-card h2{font-size:20px;letter-spacing:-.8px}.teacher-card h2 svg{height:22px;width:22px;padding:5px}.location{font-size:9px}.teacher-availability{font-size:9px;margin-bottom:13px}.tags{gap:4px}.tags span{font-size:9px;padding:5px 7px;border-radius:6px}.resume-preview{font-size:10px;height:38px;line-height:1.9;margin:16px 0}.teacher-bottom{padding-top:15px;gap:9px}.teacher-bottom strong{font-size:26px}.teacher-bottom b{font-size:14px}.teacher-bottom span{font-size:9px}.two-column{gap:16px}.panel{padding:20px 17px}.section-head h2{font-size:17px}.section-head .muted{font-size:10px}.request-card{padding:18px;border-radius:14px}.request-card h3{font-size:14px}.request-card p,.request-card .small{font-size:10px}.empty{padding:39px 17px}.empty h3{font-size:14px}.empty p{font-size:11px}.page-footer{font-size:8px;padding:24px 0}.modal-backdrop{padding:10px}.modal{padding:29px 21px;border-radius:22px;max-height:95dvh;width:100%}.modal>h2{font-size:24px}.modal>.eyebrow{font-size:8px}.modal>p{font-size:11px}.modal .form-grid{gap:17px 13px;margin-top:24px}.form-grid label{font-size:11px}.form-grid input,.form-grid textarea,.form-grid .select-trigger{padding:12px;font-size:12px}.form-footer{gap:9px}.form-footer>.small{font-size:9px}.form-footer .primary{font-size:11px;padding:12px 17px}.teacher-photo-upload{padding:17px 15px;gap:15px;border-radius:15px}.photo-preview{width:79px;height:98px;border-radius:12px}.photo-upload-copy>strong{font-size:13px}.photo-upload-copy p{font-size:10px;margin-bottom:9px}.photo-upload-copy small{max-width:180px;font-size:8px}.photo-upload-button{padding:8px 12px;font-size:10px!important}.select-popover{border-radius:15px}.select-option{font-size:12px;min-height:43px}.select-search input{font-size:12px}.profile-heading h2{font-size:25px}.profile-metrics{padding:20px;gap:15px}.profile-metrics strong{font-size:23px}.profile-metrics span{font-size:9px}.large-avatar{width:67px;height:67px}.login-art{min-height:0;padding:30px}.brand.light{margin-bottom:49px}.login-art h1{font-size:34px;margin:20px 0}.login-art p{font-size:12px;margin-bottom:5px}.login-panel{padding:36px 30px 80px}.login-panel h2{font-size:27px}.login-panel p{font-size:12px;margin-bottom:24px}.button.large{font-size:12px;padding:17px 21px}.login-panel footer{font-size:8px}}.teacher-card h2,.section-head h2,.panel>h2,.modal>h2,.profile-heading h2,.login-panel h2{color:#30382a}.request-card h3,.change-card h3,.campus-row h3,.modal>h3{color:#414d36}.form-grid label,.photo-upload-copy>strong,.modal dt{color:#65705b}.form-grid input,.form-grid textarea,.form-grid .select-trigger,.select-trigger,.full-input{color:#3e4b32}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#a1ab97}.select-option{color:#69765a}.select-option:hover,.select-option[data-active=true]{color:#2e4220}.select-option.is-selected{color:#3a5428}.photo-upload-copy p,.photo-upload-copy small,.field-hint,.form-footer>.small{color:#929e84}.photo-upload-button{color:#657d4b!important}.photo-preview{color:#9baf84}.modal>p,.biography,.profile-heading .muted,.modal dd,.expense-detail{color:#7e8b70}.profile-metrics strong{color:#516d3a}.profile-metrics span{color:#9aab89}.directory-panel p,.connection-info,.member-list label{color:#82956d}.request-card p{color:#81906e}.request-card .small{color:#96a582}.empty h3{color:#7c8d69}.empty p{color:#9cab89}.login-panel p{color:#8c9d7a}.login-panel .muted,.login-panel footer{color:#a2b18e}.stat-pattern{display:grid;grid-template-columns:repeat(3,22px);grid-template-rows:repeat(2,22px);gap:6px;transform:rotate(-15deg);bottom:18px;right:23px}.stat-pattern i,.stat-pattern i:nth-child(2n),.stat-pattern i:nth-child(3n){height:22px;width:22px;border-radius:6px}.teacher-card{font-weight:400}@media(max-width:760px){.stat-pattern{grid-template-columns:repeat(3,16px);grid-template-rows:repeat(2,16px);gap:4px;right:15px;bottom:14px}.stat-pattern i,.stat-pattern i:nth-child(2n),.stat-pattern i:nth-child(3n){width:16px;height:16px;border-radius:4px}}@media(max-width:760px){.nav-shell nav>button>svg:last-child{display:block}.select-footnote{display:none}.select-option{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.brand-symbol{position:relative;display:block;flex-shrink:0;height:48px;width:58px;overflow:hidden}.brand-symbol img{display:block;height:48px;width:auto;max-width:none;object-fit:initial}.brand-light .brand-symbol img{filter:brightness(0) invert(1);opacity:.9}.campus-actions{display:flex;gap:7px;align-items:center;flex-shrink:0}.campus-actions button{padding:9px 12px}.campus-actions button.danger{color:#a66d51;background:#fbf0e8;border-color:#f0dfd1}.campus-row h3 .status{margin-left:8px}.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff0d9;border:1px solid #eedab8;border-radius:15px;padding:16px 20px;margin-bottom:22px;color:#997344}.preview-banner>div{display:flex;flex-direction:column;gap:6px}.preview-banner strong{font-size:12px;color:#8d622d}.preview-banner span{font-size:11px;line-height:1.7;color:#b48d5a}.preview-banner button{border-radius:999px;font-size:11px;padding:9px 14px;background:#fff7e9;border-color:#e6cc9f;color:#967246;white-space:nowrap}.demo-tag{display:inline-flex;vertical-align:middle;font-size:9px;font-weight:450;margin-left:7px;padding:3px 6px;background:#fff0d5;color:#ad8750;border-radius:5px;line-height:1.4}.event-demo{font-size:8px;font-style:normal;opacity:.7;margin-left:auto;white-space:nowrap}.official-source{font-size:11px;color:#9aa78b;padding:12px 14px;border-radius:10px;background:#f5f8ee}.official-source a{color:#718963}.type-tag.unconfirmed{font-size:9px;background:#f3efdf;color:#a8935d}@media(max-width:1200px){.brand-symbol{height:43px;width:52px}.brand-symbol img{height:43px}.campus-row{gap:11px;flex-wrap:wrap}.campus-actions{margin-left:auto}.campus-actions button{font-size:10px;padding:8px 10px}}@media(max-width:760px){.brand-symbol{height:35px;width:43px}.brand-symbol img{height:35px}.preview-banner{padding:14px 15px;align-items:flex-start;flex-direction:column;gap:11px;border-radius:14px}.preview-banner span{font-size:10px}.campus-actions{width:100%;justify-content:flex-end;gap:8px}.campus-actions button{padding:9px 13px;font-size:10px}.type-tag.unconfirmed{font-size:7px;padding:5px 6px}.demo-tag{font-size:8px;margin-left:5px}.event-demo{font-size:7px}.brand-lockup{gap:7px}}.teacher-card-top>svg{background:#eef1e5;border-radius:50%;height:28px;width:28px;padding:6px;color:#90a077;flex-shrink:0}.teacher-card h2{justify-content:flex-start;flex-wrap:wrap;gap:7px 10px}.teacher-name{white-space:nowrap}.teacher-card-status{font-size:10px;line-height:1.5;letter-spacing:0;font-weight:500;color:#7c8b65;white-space:nowrap}.teacher-card-status.unconfirmed{color:#9c875c}.teacher-card .tags{margin-bottom:10px}.teacher-availability{display:block;margin-bottom:0;line-height:1.6}.profile-summary{flex:1;min-width:0}.profile-name-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}.profile-name-row h2{margin:0;overflow-wrap:anywhere}.profile-status-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.profile-status-actions button{border-radius:999px;padding:8px 16px;font-size:12px}.profile-status-actions .danger{background:#fff2ec;border-color:#f0ddd1;color:#aa6b50}.profile-deleted{font-size:11px;color:#9b9e91;white-space:nowrap}.profile-heading{padding-top:12px}.profile-summary>.muted{line-height:1.7;overflow-wrap:anywhere}@media(max-width:760px){.teacher-card h2{gap:5px 7px}.teacher-card-status{font-size:8px}.teacher-card-top>svg{height:22px;width:22px;padding:5px}.profile-heading{gap:12px;align-items:flex-start}.profile-heading>.avatar{width:52px;height:65px;border-radius:13px;flex-shrink:0}.profile-name-row{gap:8px;flex-wrap:wrap}.profile-name-row h2{font-size:23px}.profile-status-actions{gap:5px}.profile-status-actions button{padding:7px 10px;font-size:10px}.profile-summary>.muted{font-size:10px}}main{padding-top:24px}.stats-row{gap:12px;margin-bottom:16px}.stat{min-height:64px;height:64px;border-radius:14px;padding:10px 16px;gap:4px;justify-content:center}.stat>.row-between{gap:8px;min-height:24px;font-size:11px;line-height:1.2}.stat-label{white-space:nowrap}.stat .stat-value{font-size:clamp(18px,1.65vw,24px);line-height:1;margin:0;letter-spacing:-.6px;white-space:nowrap}.stat .stat-value small{font-size:10px;margin-left:5px}.stat p{display:flex;align-items:center;justify-content:flex-start;gap:6px;font-size:10px;line-height:14px;white-space:nowrap}.stat .stat-icon{padding:0;background:none;border-radius:0;display:inline-flex;flex-shrink:0}.stat .stat-icon svg{width:12px;height:12px}.stat p>svg{margin-left:auto;flex-shrink:0}.stat-pattern{display:none}.calendar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.calendar-actions .primary,.faculty-toolbar-end .primary,.section-head>.primary,.section-actions .primary{border-radius:999px;padding:10px 15px;font-size:11px;white-space:nowrap}.faculty-toolbar{flex-wrap:wrap}.faculty-toolbar-end{display:flex;align-items:center;gap:18px;margin-left:auto}.section-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.requests-heading{flex-wrap:wrap}@media(max-width:1000px){.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stat .stat-value{font-size:23px}.calendar-actions{width:100%;justify-content:flex-end}.section-actions .muted{font-size:10px}}@media(max-width:760px){main{padding-top:18px}.stats-row{gap:9px;margin-bottom:14px}.stat{padding:10px 14px;min-height:64px;height:64px;border-radius:13px}.stat>.row-between{font-size:10px}.stat p{font-size:9px}.stat .stat-value{font-size:22px}.calendar-actions{justify-content:flex-end;gap:6px}.calendar-actions .primary,.faculty-toolbar-end .primary,.section-head>.primary,.section-actions .primary{padding:9px 12px;font-size:10px}.faculty-toolbar-end{width:100%;gap:10px;justify-content:space-between}.faculty-toolbar-end .small{font-size:9px}.section-actions{gap:8px}.requests-heading{gap:12px}}@media(max-width:520px){.stats-row{grid-template-columns:minmax(0,1fr)}.stat{height:60px;min-height:60px}.stat>.row-between{min-height:22px;font-size:11px}.stat .stat-value{font-size:22px}.stat p{font-size:9px}.calendar-actions .text-button{font-size:10px;padding:8px}.requests-heading .section-actions{width:100%;justify-content:space-between}}.requests-layout{align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.compact-request{display:block;padding:13px 16px;margin-bottom:10px;text-align:left}.request-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-bottom:6px}.compact-request h3{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.request-campus{margin-left:auto;flex-shrink:0;font-size:10px;line-height:1.5;color:#8b9c76}.compact-request .request-card-meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4em;row-gap:3px;font-size:11px;line-height:1.6;margin:0}.request-time{white-space:nowrap}.request-preference{overflow-wrap:anywhere;min-width:0}.change-panel-heading{align-items:flex-start}.change-occupancy-note{margin:7px 0 0;font-size:10px;line-height:1.5;color:#a58c6d}.compact-change{display:flex;align-items:center;gap:16px;padding:13px 16px;margin-bottom:10px}.change-card-body{flex:1;min-width:0}.change-card-heading{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.compact-change h3{font-size:13px;line-height:1.5;margin:0}.compact-change .status{font-size:9px;padding:3px 6px}.change-campus{margin-left:auto;font-size:10px;line-height:1.5;color:#a88c68;white-space:nowrap}.compact-change .change-reason{font-size:11px;line-height:1.6;margin:0;overflow-wrap:anywhere}.compact-change .change-review{flex-shrink:0;align-self:center;font-size:10px;padding:9px 12px;white-space:nowrap}.change-review svg{height:13px;width:13px}.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr 1fr;column-gap:12px;row-gap:4px;align-items:center}.stat>.row-between{grid-column:1;grid-row:1;min-height:0}.stat>p{grid-column:1;grid-row:2;min-width:0}.stat-number{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr 1fr;column-gap:5px;row-gap:4px;height:100%;align-items:center}.stat-number .stat-value{grid-column:1;grid-row:1 / span 2;font-size:clamp(26px,2.5vw,36px);line-height:1;margin:0;letter-spacing:-1px}.stat-unit{grid-column:2;grid-row:2;align-self:center;font-size:10px;line-height:14px;color:inherit;opacity:.65}@media(max-width:1100px){.requests-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.compact-request,.compact-change{padding:12px 13px}.compact-request h3{font-size:13px}.request-card-heading{gap:8px}.request-campus{font-size:9px}.compact-request .request-card-meta{font-size:10px}.compact-change{gap:12px}.compact-change h3{font-size:12px}.change-card-heading{gap:5px}.change-campus{font-size:9px}.compact-change .change-reason{font-size:10px}.compact-change .change-review{font-size:9px;padding:8px 9px;gap:5px}.stat-number .stat-value{font-size:32px}.stat-unit{font-size:10px}}.teacher-card .teacher-course-row{align-items:center;gap:6px 9px;margin-bottom:0}.teacher-course-row>.teacher-availability{display:inline;padding:0;background:transparent;border:0;border-radius:0;font-size:10px;line-height:1.5;color:#899d71;white-space:nowrap;margin:0}.faculty-toolbar .search input:focus,.faculty-toolbar .search input:focus-visible{outline:none;box-shadow:none}.faculty-toolbar .search:focus-within{border-color:#a6b395}.confirm-secondary-actions{display:flex;justify-content:flex-end;align-items:center}.confirm-secondary-actions .text-button{padding:6px 0;font-size:12px;white-space:nowrap}@media(max-width:760px){.teacher-card .teacher-course-row{gap:5px 7px}.teacher-course-row>.teacher-availability{font-size:9px}.faculty-toolbar>.custom-select .select-trigger{padding:10px 9px;font-size:10px;gap:6px}.faculty-toolbar>.custom-select .select-trigger svg{width:13px}.confirm-secondary-actions .text-button{font-size:11px}}.month-grid{display:block}.month-weekdays,.month-day-backgrounds,.resource-day-backgrounds{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-week,.resource-week{position:relative;min-width:0}.month-day-backgrounds,.resource-day-backgrounds{position:absolute;top:0;right:0;bottom:0;left:0}.month-day-backgrounds .month-cell{min-height:0}.month-day-backgrounds .day-number{position:relative;z-index:1}.calendar-event-layout{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:0;row-gap:6px;position:relative;pointer-events:none}.month-event-layout{padding:44px 0 8px;min-height:150px;grid-auto-rows:minmax(52px,auto)}.resource-week{grid-column:2 / span 7;min-height:122px;border-bottom:1px solid #e8ecdf}.resource-day-backgrounds .resource-cell{min-height:0;border-bottom:0}.resource-event-layout{min-height:122px;padding:9px 0;grid-auto-rows:minmax(88px,auto)}.calendar-event-layout>.calendar-segment{margin:0 8px;width:calc(100% - 16px);height:auto;min-height:0;align-self:stretch;pointer-events:auto}.month-event-layout>.event{padding:5px 7px;gap:3px;border-radius:7px}.month-event-layout .event strong{font-size:10px}.month-event-layout .event-time{font-size:8px}.calendar-segment .series-date-range{font-size:9px;line-height:1.4;opacity:.8;white-space:normal}.month-event-layout .series-date-range{font-size:8px}.series-event{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--event-color) 12%,transparent)}.calendar-segment.continues-before{border-top-left-radius:2px;border-bottom-left-radius:2px}.calendar-segment.continues-after{border-top-right-radius:2px;border-bottom-right-radius:2px}.calendar-event-layout>.more-events{pointer-events:auto;margin:0 8px;align-self:start;justify-self:start;max-width:calc(100% - 16px);font-size:9px;padding:3px 0}.series-days{display:grid;gap:8px;margin-top:20px}.series-day{padding:13px 16px;margin:0}.series-day strong{font-size:13px}.series-day small{display:block;font-size:11px;color:#91a079;margin-top:5px}.series-day>svg{flex-shrink:0}.teacher-card{--teacher-inset:25px;padding:25px var(--teacher-inset)}.teacher-card-top{justify-content:flex-start;align-items:center;gap:var(--teacher-inset);margin-bottom:0}.teacher-card-info{flex:1;min-width:0}.teacher-card-info h2{margin:0 0 9px;padding-right:14px}.teacher-card-open{position:absolute;right:14px;top:14px;background:#eef1e5;border-radius:50%;height:22px;width:22px;padding:5px;color:#90a077}.teacher-card .resume-preview{margin-top:18px}.teacher-card-info .teacher-course-row{min-height:0}@media(max-width:1400px){.faculty-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.teacher-card{--teacher-inset:16px;padding:19px var(--teacher-inset)}.teacher-card-info h2{margin-bottom:7px}}@media(max-width:620px){.faculty-grid{grid-template-columns:minmax(0,1fr)}}.finance-report{margin-bottom:18px}.finance-report-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.finance-report-filters>.custom-select{min-width:145px;max-width:210px}.finance-report-filters .select-trigger{font-size:11px;padding:10px 13px;min-height:36px;border-radius:999px}.finance-periods{margin:0}.finance-periods button{font-size:11px;padding:7px 12px}.finance-report-filters>input,.finance-custom-range input{background:#f6f8f0;border-color:#e2e8d8;border-radius:999px;padding:9px 12px;font-size:11px;max-width:160px}.finance-report-filters>input[type=number]{width:95px}.finance-custom-range{display:flex;align-items:center;gap:8px;color:#8b9b7a;font-size:11px}.report-refresh{margin-left:auto}.finance-range-caption{font-size:10px;color:#8b997d;margin:12px 0 14px}.finance-report-stats{margin-bottom:18px}.payment-list-heading{margin-bottom:10px}.payment-list-heading h3{font-size:13px}.payment-report-table td{padding:13px 11px}.payment-report-table th{padding:11px;font-size:10px}.payment-report-table td small{max-width:240px;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.5}.payment-report-table td .text-button{font-size:10px;white-space:nowrap}.finance-empty{font-size:12px;padding:15px 0;margin:0}.finance-data-note{font-size:11px;color:#ad8658;margin:12px 0}.pending-payment-dates{padding-top:18px;margin-top:20px;border-top:1px solid #e7eddc}.pending-payment-dates>h3{font-size:13px}.pending-payment-dates>p{font-size:11px;color:#a18a6b;margin-bottom:12px}.payment-total-preview{display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:11px;color:#8a9c76;padding-top:20px}.payment-total-preview strong{font-size:22px;color:#516a3b}@media(max-width:760px){.finance-report .section-head{flex-wrap:wrap;gap:8px}.finance-report-filters>.custom-select{min-width:0;flex:1;max-width:none}.finance-periods{order:3;width:100%;justify-content:space-between}.finance-periods button{flex:1;padding:7px 9px;font-size:10px}.finance-report-filters>input{flex:1;min-width:0}.finance-custom-range{width:100%;gap:6px}.finance-custom-range input{flex:1;min-width:0;max-width:none;font-size:10px;padding:9px}.report-refresh{padding:7px}.finance-report-stats{margin-bottom:14px}.payment-report-table td{font-size:11px}.payment-total-preview{font-size:10px;padding-top:18px}.payment-total-preview strong{font-size:19px}}.pending-payment-dates>summary{cursor:pointer;font-size:12px;color:#9a7b54;font-weight:550;line-height:1.6}.pending-payment-dates>p{margin:12px 0}.finance-settlement-summary{display:flex;flex-wrap:wrap;gap:9px 22px;font-size:10px;color:#8c9b7b;margin:0 0 17px}.status-action{cursor:pointer;font:inherit;line-height:inherit;min-height:0;border:0;white-space:nowrap}.status-action:hover{background:#ffdfc5;color:#8f582d}.status.paid{background:#e6edda;color:#708b50}.modal dl.settlement-summary{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin:20px 0 12px}.settlement-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}.modal .settlement-summary dt,.modal .settlement-summary dd{padding:0;border:0;min-width:0}.settlement-summary dt{flex-shrink:0;font-size:11px}.settlement-summary dd{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:12px}.modal p.settlement-notes{display:flex;align-items:baseline;gap:16px;font-size:11px;margin:0 0 22px;white-space:pre-wrap}.settlement-notes strong{font-weight:500;flex-shrink:0}.modal-actions.settlement-actions{justify-content:flex-end}.settings-layout{align-items:start}.settings-side{display:grid;gap:22px;min-width:0}.settings-layout>.campuses-panel{min-width:0}.settings-audit .table-wrap{max-height:540px;overflow:auto}.settings-audit table{min-width:460px}@media(max-width:760px){.modal dl.settlement-summary{column-gap:16px}.settlement-summary>div{flex-wrap:wrap;gap:5px;padding:10px 0}.settlement-summary dt{font-size:10px}.settlement-summary dd{font-size:11px}.settlement-actions button{font-size:11px;padding:11px 14px}.settings-side{gap:16px}}.payment-payer-fixed{display:block;border:1px solid #e2e8d8;background:#f5f8ed;border-radius:13px;padding:13px;color:#61764e;font-size:12px}.payment-receipt-field{min-width:0}.payment-receipt-dropzone{display:flex;align-items:center;gap:13px;border:1px dashed #cdd9bd;border-radius:14px;padding:17px 18px;background:#f8faf4;cursor:pointer;transition:background .16s,border-color .16s}.payment-receipt-dropzone:hover{background:#eef4e6;border-color:#9eb487}.payment-receipt-dropzone>svg{flex-shrink:0;color:#849d6a}.payment-receipt-dropzone strong{display:block;font-size:12px;font-weight:550;color:#5c7348}.payment-receipt-dropzone small{display:block;margin-top:5px;font-size:10px;color:#94a183}.payment-receipt-preview{display:flex;align-items:center;gap:12px;padding-top:12px;min-width:0}.payment-receipt-preview img{width:65px;height:65px;object-fit:cover;border:1px solid #e1e9d6;border-radius:9px}.payment-receipt-preview span{font-size:11px;color:#82906f;overflow-wrap:anywhere;min-width:0}.payment-receipt-preview button{margin-left:auto;flex-shrink:0;font-size:11px}.payment-receipt-link{display:inline-block;margin-top:10px;font-size:11px;color:#667d51}.payment-report-table a{display:block;margin-top:6px;font-size:10px;color:#5e7c49;white-space:nowrap}.settlement-payment-record{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e9efdf;font-size:11px;color:#7c8c6b}.settlement-payment-record>div{display:grid;gap:6px;min-width:0}.settlement-payment-record strong{font-size:12px;font-weight:550;color:#62764f}.settlement-payment-record small{font-size:10px;overflow-wrap:anywhere}.settlement-payment-record>a{flex-shrink:0;font-size:11px;color:#587540}@media(max-width:760px){.payment-receipt-dropzone{padding:14px}.payment-receipt-dropzone strong{font-size:11px}.payment-receipt-dropzone small{font-size:9px}.settlement-payment-record{gap:10px}.settlement-payment-record>a{font-size:10px}}
