:root{font-family:Inter,"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#172b4d;background:#f4f7fc;font-size:16px;font-synthesis:none;--blue:#2563eb;--muted:#6d7d96;--border:#e5ebf4}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:1.9rem;letter-spacing:-.04em;margin-bottom:10px;line-height:1.35}h2{font-size:1.06rem;margin-bottom:5px}h3{font-size:.95rem}p{line-height:1.7}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #93b4ff;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #aac4ff;border-color:var(--blue)}.muted{color:var(--muted);font-size:.875rem}.eyebrow{font-size:.75rem;letter-spacing:.15em;color:#7a8eae;font-weight:700;margin-bottom:8px}.layout{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:27px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:750;letter-spacing:-.04em;white-space:nowrap}.brand img{width:34px;height:34px}.workspace-label{font-size:.75rem;color:#8290a6;margin:40px 12px 16px;display:flex;justify-content:space-between;align-items:center}.workspace-label span{background:#f1f5fb;border-radius:4px;padding:3px 7px;color:#567}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;text-align:left;margin-bottom:8px;background:transparent;border-radius:8px;color:#67778e;font-size:.9rem}.nav-item span{font-size:1.25rem;line-height:1}.nav-item.active{color:#2563eb;background:#edf3ff;font-weight:650}.nav-item:hover{background:#f0f5fc}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:22px;display:flex;gap:12px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf0fc;color:#2563eb}.sidebar-bottom strong{font-size:.875rem}.sidebar-bottom small{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}.main-wrap{margin-left:224px;width:calc(100% - 224px);min-width:0}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:16px 34px;background:#fff;border-bottom:1px solid var(--border);font-size:.875rem;color:#6d7d96;gap:12px}.topbar strong{font-weight:500;color:#263b5b}.slash{padding:0 14px;color:#bac4d3}.top-actions{display:flex;gap:18px;align-items:center}.today{font-size:.8rem}.text-button{color:#2563eb;background:transparent;padding:6px 3px;font-size:.875rem;white-space:nowrap}.review-top-button{padding:8px 14px;font-size:.8rem}.text-button:hover{color:#1744ab;text-decoration:underline}#main{max-width:1700px;margin:auto;padding:32px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading p:last-child{margin-bottom:0}.primary{background:var(--blue);color:#fff;padding:12px 22px;border-radius:7px;font-size:.875rem;font-weight:600;box-shadow:0 3px 8px #2563eb1a;white-space:nowrap}.primary:hover{background:#1d4fd0}.toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}.segmented{display:inline-flex;padding:4px;background:#e9eef7;border-radius:7px;gap:3px}.segmented button{min-width:46px;border-radius:5px;background:transparent;color:#6b7c97;padding:7px 14px;font-size:.875rem}.segmented button.selected{background:#fff;color:var(--blue);box-shadow:0 1px 4px #203e6614;font-weight:650}.segmented.small button{padding:6px 12px;min-width:0}.inline-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.875rem}.inline-label input{width:auto;padding:8px 11px}.range{color:var(--muted);font-size:.8rem}.toolbar>#refresh-data{margin-left:auto}.filterbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--border);padding:14px 18px;border-radius:9px;margin-bottom:22px;font-size:.875rem}.filterbar>span{color:var(--muted);margin-right:4px}.filterbar label{flex:1;min-width:125px}.filterbar select{padding:9px 12px;background:#f9fbfe}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{min-height:143px;padding:20px 22px;background:#fff;border:1px solid var(--border);border-radius:10px}.metric-label{display:flex;justify-content:space-between;gap:8px;font-size:.875rem;color:#61718b}.metric-label span{font-size:.75rem;color:#a3b0c4;font-weight:600}.metric strong{display:block;font-size:clamp(1.5rem,2vw,2rem);font-weight:700;letter-spacing:-.04em;margin:14px 0 8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric small{font-size:.75rem;color:#8b98ab;line-height:1.5}.metric.featured{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 7px 14px #2563eb20}.metric.featured .metric-label,.metric.featured small,.metric.featured .metric-label span{color:#dae7ff}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:22px;overflow:hidden;min-width:0}.panel-heading{padding:22px 24px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading p{margin:0;font-size:.75rem}.badge{padding:5px 10px;border-radius:5px;color:#5579b3;background:#f0f5fc;font-size:.75rem;white-space:nowrap}.chart{padding:4px 22px 0}.chart svg{display:block;width:100%;height:auto;min-height:170px;max-height:285px}.chart text{fill:#8a9bb3;font-size:12px}.gridline{stroke:#edf1f7;stroke-dasharray:4 4}.chart-data{font-size:.75rem;color:#7b8da8;border-top:1px solid #f0f3f8;padding:11px 24px}.chart-data summary{cursor:pointer;width:max-content}.chart-data table{font-size:.8rem}.rank-tabs{display:flex;gap:26px;padding:0 24px;border-bottom:1px solid var(--border)}.rank-tabs button{padding:10px 0 14px;background:none;color:#73849d;border-bottom:2px solid transparent;font-size:.875rem}.rank-tabs button.selected{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left;white-space:nowrap}th{background:#f8faff;color:#7b8ba3;font-weight:500;font-size:.8rem;padding:13px 24px;border-bottom:1px solid #edf1f7}td{padding:15px 24px;border-bottom:1px solid #edf1f7}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcff}.numeric{text-align:right;font-variant-numeric:tabular-nums}.profit{color:#2563eb;font-weight:650}.rank-number{background:#f0f3f8;color:#8a99ac;display:grid;place-items:center;width:25px;height:25px;border-radius:6px;font-size:.8rem}.r1{background:#fff1d6;color:#ba861b}.r2{background:#eef1f7;color:#63758c}.r3{background:#fff0e8;color:#b58063}.cell-sub{display:block;margin-top:5px;font-size:.75rem;color:#8a99af}.empty{text-align:center;padding:45px 25px!important;color:#8291a7;white-space:normal;line-height:1.8}.panel-note,.calculation-note{font-size:.75rem;color:#8b98ad;margin:16px 24px;line-height:1.8}.calculation-note{margin:18px 0}.note-cell{max-width:240px;white-space:normal;overflow-wrap:anywhere}.form-panel{padding:26px;max-width:1050px}.form-section-title{font-size:1rem;font-weight:650;margin:0 0 22px;border-bottom:1px solid var(--border);padding-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:26px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}form label{display:block;font-size:.875rem;color:#52627e;line-height:1.5}input,select,textarea{width:100%;border:1px solid #dfe6f0;border-radius:6px;background:#fff;color:#243752;padding:11px 12px;min-width:0;font-size:.875rem}form input,form select,form textarea{margin-top:8px}input:disabled{background:#f3f6fb;color:#7c8da6}textarea{min-height:95px;resize:vertical}.form-hint{font-size:.8rem;color:#8392a7;background:#f6f9fe;padding:14px;border-radius:6px}.form-actions{border-top:1px solid var(--border);padding-top:20px;display:flex;align-items:center;gap:18px}.error{font-size:.875rem;color:#c03c45;min-height:18px}.error:empty{display:none}.error-panel{padding:30px}.boot{padding:15vh;text-align:center;color:#6e80a0}footer{display:flex;justify-content:space-between;gap:20px;padding:10px 32px 24px;color:#94a2b6;font-size:.75rem}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-story{padding:48px 10%;background:#133b85;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:100vh}.login-story .brand{font-size:1.4rem}.login-story .eyebrow{color:#8fb6ff}.login-story h1{font-size:clamp(2rem,3vw,3rem);line-height:1.6;margin-top:20px}.login-story p{color:#b6ccee}.story-foot{font-size:.8rem;margin-bottom:0}.login-box{display:flex;align-items:center;justify-content:center;padding:48px}.login-form{width:100%;max-width:380px}.login-form h2{font-size:2rem;margin:22px 0 8px}.pill{background:#edf3ff;color:#2563eb;font-size:.75rem;padding:7px 10px;border-radius:5px}.login-form form{margin-top:34px}.login-form label{margin-bottom:22px}.login-form input{padding:14px}.login-form .primary{width:100%;display:flex;justify-content:space-between;padding:15px 18px}.login-help{color:#9ba8bb;text-align:center;font-size:.75rem;margin-top:26px}.login-bars{height:145px;display:flex;align-items:flex-end;gap:16px;margin:45px 0 35px;transform:skewY(-5deg)}.login-bars i{width:35px;background:#498bff;border-radius:5px 5px 0 0;height:35%}.login-bars i:nth-child(2){height:52%;opacity:.8}.login-bars i:nth-child(3){height:42%;opacity:.7}.login-bars i:nth-child(4){height:70%}.login-bars i:nth-child(5){height:61%;opacity:.8}.login-bars i:nth-child(6){height:83%;background:#75a7ff}.login-bars i:nth-child(7){height:100%;background:#9ec2ff}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#17325a;color:white;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100;font-size:.875rem;max-width:90vw;box-shadow:0 8px 20px #0002}#toast.show{opacity:1}dialog{border:1px solid var(--border);border-radius:12px;padding:28px;width:min(650px,92vw);max-height:88vh;overflow:auto;color:#243752}dialog::backdrop{background:#14294d66}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;background:#f7faff;padding:20px;border-radius:8px}.detail-grid dt{font-size:.8rem;color:#7b8da6}.detail-grid dd{margin:8px 0 0;font-weight:600}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem}#password-form label{margin:18px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1700px){.metrics{gap:20px}.metric{min-height:155px}}@media(max-width:1150px){.sidebar{width:190px;padding:24px 12px}.brand{font-size:1rem}.main-wrap{margin-left:190px;width:calc(100% - 190px)}#main{padding:24px}.metric{padding:18px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:16px 24px}.top-actions{gap:10px}.today{display:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.layout{display:block}.sidebar{width:100%;position:static;padding:15px 18px;display:block;border-right:0;border-bottom:1px solid var(--border)}.sidebar .brand{font-size:1.1rem}.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;gap:8px;margin-top:18px}.nav-item{width:auto;flex-shrink:0;margin:0;padding:10px 12px;font-size:.8rem}.nav-item span{display:none}.main-wrap{width:100%;margin:0}.topbar{padding:12px 18px;font-size:.75rem}.top-actions{gap:8px}.text-button{font-size:.8rem}#main{padding:23px 16px}h1{font-size:1.55rem}.page-heading{align-items:flex-start;gap:10px}.page-heading .primary{padding:11px 12px;font-size:.8rem}.metrics{gap:12px}.metric{padding:16px;min-height:135px}.metric strong{font-size:1.5rem}.metric-label{font-size:.8rem}.metric small{font-size:.75rem}.toolbar{gap:12px}.toolbar>#refresh-data{margin-left:0}.range{width:100%}.filterbar{padding:12px;gap:10px}.filterbar>span{width:100%}.filterbar label{min-width:40%}.panel-heading{padding:18px 16px 12px}.chart{padding:0 8px}.panel-heading h2{font-size:1rem}.segmented.small button{padding:6px 8px;font-size:.75rem}.rank-tabs{gap:22px;padding:0 16px}.rank-tabs button{font-size:.8rem}td,th{padding:13px 16px}.form-panel{padding:18px}.form-grid,.form-grid.two{grid-template-columns:1fr;gap:16px}.form-actions{align-items:flex-start;flex-direction:column}.login-page{display:block}.login-story{min-height:auto;padding:24px}.login-story>div:not(.brand),.story-foot{display:none}.login-box{padding:55px 24px}.detail-grid{grid-template-columns:1fr 1fr}footer{padding:8px 16px 20px;flex-wrap:wrap}.chart-data{padding:10px 16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.chart{overflow-x:auto}.chart svg{min-width:640px}
.notice{border:1px solid #f6d490;background:#fff9eb;color:#996a15;padding:14px 18px;border-radius:8px;font-size:.875rem}.my-row{background:#edf5ff!important}.sort-label{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:.875rem;color:#71849e;padding-bottom:8px}.sort-label select{width:120px;padding:7px 10px}.status{display:inline-block;padding:4px 8px;border-radius:5px;background:#f1f5f9;font-size:.8rem;margin-left:8px}.status.active{color:#11855b;background:#e7f7ef}.status.leave{color:#af7000;background:#fff3da}.status.resigned{color:#bd3e46;background:#fff0f1}.scope-fieldset{border:1px solid #e1e9f3;border-radius:6px;margin:16px 0}.scope-fieldset label{display:inline-flex;gap:8px;align-items:center;margin:8px}input[type=checkbox]{width:auto;margin:0 6px 0 0}.pending-row{display:flex;gap:12px;align-items:center;padding:16px;flex-wrap:wrap}.pending-row select{width:220px}.seat-panel{background:#0c1c35;border-color:#213b60}.seat-controls{padding:18px;display:flex;align-items:center;gap:25px;flex-wrap:wrap;color:#d5e6ff;font-size:.875rem}.seat-controls label{display:flex;align-items:center;gap:10px}.seat-controls input[type=range]{width:120px;padding:0}.seat-legend{display:flex;gap:18px;flex-wrap:wrap}.seat-legend span{display:flex;align-items:center;gap:6px}.seat-legend i{width:10px;height:10px;border-radius:3px;background:#7a879b}.seat-legend i.active{background:#34cf95}.seat-legend i.leave{background:#f7b547}.seat-legend i.resigned{background:#f16a76}.staff-palette{padding:0 18px 18px}.staff-palette p{color:#9eb4d2;font-size:.8rem;margin-bottom:8px}.staff-chip{background:#183355;border:1px solid #365a88;color:#d9e9ff;padding:8px 12px;border-radius:6px;margin:4px;cursor:grab;font-size:.8rem}.staff-chip small{margin-left:7px;color:#93b0d4}.seat-viewport{overflow:auto;max-height:720px;touch-action:pan-x pan-y pinch-zoom;background:#0a182c}.seat-canvas{position:relative;width:1800px;height:1200px;transform-origin:top left;background-image:linear-gradient(#21415e33 1px,transparent 1px),linear-gradient(90deg,#21415e33 1px,transparent 1px);background-size:30px 30px}.seat-zone{position:absolute;border:1px solid #254365;border-radius:14px;background:#15315026;pointer-events:none}.seat-zone>span{position:absolute;right:24px;top:20px;font-size:22px;font-weight:650;color:#6489b8;letter-spacing:2px}.seat{position:absolute;width:145px;height:88px;border:2px solid #5a6e89;border-radius:9px;background:#172c47;color:#b0c4df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:16px;box-shadow:0 5px 16px #0003}.seat.active{border-color:#3bd499;color:#70eab9;background:#123e3c}.seat.leave{border-color:#eaa640;color:#ffcd74;background:#493923}.seat.resigned,.seat.vacant{border-color:#df6575;color:#ff96a2;background:#452836}.seat strong{font-size:16px}.seat-monitor{position:absolute;left:12px;top:14px;width:17px;height:12px;border:1px solid currentColor;border-radius:2px;opacity:.6}.seat.drop-target{outline:5px solid #60a5fa;outline-offset:4px}.seat-canvas.editing .seat{cursor:move;touch-action:none}.floor-entrance{position:absolute;bottom:30px;left:660px;color:#6281a6;font-size:22px;letter-spacing:6px}.scope-fieldset legend{font-size:.8rem;color:#7c8fa7}@media(max-width:720px){.sort-label{width:100%;margin:0}.rank-tabs{flex-wrap:wrap;gap:14px}.seat-controls{padding:14px;gap:15px}.seat-viewport{max-height:560px}.seat-legend{gap:10px;font-size:.75rem}}@media print{.sidebar,.topbar,footer,.toolbar,button,.calculation-note,#toast{display:none!important}.main-wrap{margin:0;width:100%}#main{padding:0}.panel{border:0}.table-wrap{overflow:visible}table{font-size:11px}td,th{padding:8px}.page-heading .eyebrow{display:none}body{background:white}}
.staff-chip.dragging{outline:2px solid #2563eb;background:#dbeafe;cursor:grabbing}
.employment-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.76rem;font-weight:700;white-space:nowrap}.employment-badge.employment-intern{color:#9a6410;background:#fff4d6}.employment-badge.employment-partner{color:#1d5fb8;background:#e5f0ff}.employment-badge.employment-coach{color:#087a58;background:#dcf8ed}.floorplan-legend i.employment-intern{background:#f6c453}.floorplan-legend i.employment-partner{background:#4d91ed}.floorplan-legend i.employment-coach{background:#35c995}.floorplan-marker.employment-intern{border-color:#f6c453}.floorplan-marker.employment-partner{border-color:#4d91ed}.floorplan-marker.employment-coach{border-color:#35c995}.seat.employment-intern{border-color:#f6c453}.seat.employment-partner{border-color:#4d91ed}.seat.employment-coach{border-color:#35c995}
.cost-summary{display:flex;gap:40px;align-items:center;flex-wrap:wrap;padding:18px 4px 12px}.cost-pie{width:248px;height:248px;flex:0 0 248px;border-radius:50%;border:8px solid #fff;box-shadow:0 8px 24px rgba(15,23,42,.12),0 0 0 1px rgba(148,163,184,.22);position:relative}.cost-legend{min-width:300px;flex:1;display:grid;gap:10px}.cost-legend>div{display:grid;grid-template-columns:14px minmax(100px,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:#f8fafc}.cost-legend>div:hover{background:#eef4ff}.cost-legend i{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(148,163,184,.25)}.cost-legend span{color:#334155;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-legend strong{color:#0f274d;font-variant-numeric:tabular-nums;white-space:nowrap}

.trend-panel svg{touch-action:pan-y;cursor:crosshair}
.trend-panel svg:focus-visible{outline:2px solid #2563eb;outline-offset:3px;border-radius:8px}
.trend-guide{stroke:#94a3b8;stroke-dasharray:4 4;pointer-events:none}
.trend-point.is-selected{stroke:#fff;stroke-width:2}
.trend-readout{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:12px;background:#f5f8ff;border:1px solid #e4ebf8;border-radius:12px;padding:16px;margin:8px 0 16px}
.trend-readout div{display:grid;gap:6px}.trend-readout span{color:#64748b;font-size:12px}.trend-readout strong{color:#172b4d;font-variant-numeric:tabular-nums}.trend-readout div:nth-child(2) strong{color:#2563eb}
.device-fields .form-grid{width:100%}.device-fields label{display:grid}.device-fields .device-verified{display:flex;align-items:center;gap:8px}.device-verified input{width:auto}
@media(max-width:600px){.trend-readout{grid-template-columns:repeat(2,1fr)}.trend-readout div:first-child{grid-column:1/-1}}

.quick-dates{display:flex;gap:6px;flex-wrap:wrap}.quick-dates button{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:5px 9px}
.leave-apply-panel{max-width:980px}.leave-apply-panel h2{margin:0 0 8px;color:#18355e}.leave-apply-panel .muted{margin-bottom:22px}.leave-action{margin-right:8px;padding:7px 10px}.status.pending{color:#936b10;background:#fff5d7}.status.approved{color:#087a58;background:#dcf8ed}.status.rejected,.status.cancelled{color:#a23e4a;background:#fff0f1}
.schedule-panel{padding:22px}.schedule-head{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:18px}.schedule-head h2{margin:0;color:#18355e}.schedule-week,.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.schedule-week{color:#7890ae;font-size:.8rem;text-align:center;margin-bottom:8px}.schedule-cell{min-height:118px;border:1px solid #e2eaf4;border-radius:10px;background:#fff;padding:10px;overflow:hidden}.schedule-cell strong{font-size:1.05rem;color:#24456f}.today-cell{border-color:#3985e7;box-shadow:0 0 0 2px #dbeafe;background:#f7fbff}.empty-day{background:#f7f9fc;border-color:transparent}.holiday-cell{background:#fff9f0;border-color:#f5c87c}.schedule-items{display:grid;gap:6px;margin-top:8px}.schedule-item{display:grid;gap:2px;border-radius:6px;padding:6px 7px;font-size:.72rem;line-height:1.35}.schedule-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-item span{color:#617692}.schedule-item.approved{background:#e6f8ef;color:#087a58;border-left:3px solid #28b77c}.schedule-item.pending{background:#fff7df;color:#986d18;border-left:3px solid #e9ad3d}.schedule-work{display:block;margin-top:13px;color:#a0aec0;font-size:.72rem}.schedule-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;color:#73859e;font-size:.78rem}.schedule-legend span{display:flex;align-items:center;gap:6px}.schedule-legend i{width:9px;height:9px;border-radius:50%;background:#cbd5e1}.schedule-legend i.approved{background:#28b77c}.schedule-legend i.pending{background:#e9ad3d}.schedule-legend i.holiday{background:#e9ad3d}.schedule-legend i.work{background:#a0aec0}.schedule-settings{margin-top:16px}.schedule-settings .form-grid{align-items:end}.rest-day-list{display:grid;gap:8px;margin-top:16px}.rest-day-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #e2eaf4;border-radius:8px;background:#fbfdff}.rest-day-row span{display:grid;gap:3px}.rest-day-row small{color:#7890ae}@media(max-width:720px){.schedule-panel{padding:12px}.schedule-week,.schedule-grid{gap:4px}.schedule-cell{min-height:94px;padding:6px}.schedule-cell strong{font-size:.95rem}.schedule-item{padding:4px;font-size:.62rem}.schedule-item span{font-size:.58rem}.schedule-head{gap:12px}.schedule-head h2{font-size:1rem}.schedule-settings .form-grid{grid-template-columns:1fr}}
.seat-company-title{display:block;color:#dcecff;font-size:1.05rem;letter-spacing:.02em}.seat-company-sub{display:block;color:#86a8cf;font-size:.75rem;margin-top:4px}.seat-panel .seat-controls{background:linear-gradient(135deg,#112846,#0d203a);border-bottom:1px solid #29496d}.seat-panel .seat-zone{background:linear-gradient(135deg,#173657aa,#10294466);border-color:#38658d;box-shadow:inset 0 0 0 1px #7db8ef14}.seat-panel .seat-zone>span{right:28px;top:18px;padding:6px 10px;border:1px solid #5a82ad55;border-radius:8px;background:#0d2340cc;color:#a8c9ec;font-size:15px;letter-spacing:0}.seat-panel .seat-zone.zone-0{border-color:#4d8dcc}.seat-panel .seat-zone.zone-1,.seat-panel .seat-zone.zone-2{background:#142f4dcc}.seat-panel .seat-zone.zone-3{border-color:#806bb4;background:#27255455}.seat-panel .seat{transition:transform .16s ease,box-shadow .16s ease;border-radius:12px}.seat-panel .seat:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 24px #0005;z-index:4}.seat-panel .seat strong{font-size:13px}.seat-panel .seat>span:not(.seat-monitor){font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-panel .floor-entrance{padding:8px 14px;border:1px dashed #4d7096;border-radius:9px;background:#0b2038cc;color:#8cafD3;font-size:14px;letter-spacing:1px}.seat-legend{align-items:center}.seat-legend i{box-shadow:0 0 0 3px #ffffff08}
/* Seat layout editor */
.seat-mode{padding:8px 12px;border:1px solid #3c6694;border-radius:8px;background:#142f50;color:#dcecff}.seat-action{padding:9px 14px;border:1px solid #5f9fe5;border-radius:8px;background:#2d78d7;color:#fff;font-weight:650;box-shadow:0 4px 12px #0003}.seat-action:hover{background:#4891ed;transform:translateY(-1px)}.seat-edit-banner{display:flex;align-items:center;gap:14px;padding:11px 18px;background:linear-gradient(90deg,#1d4f83,#16345a);border-top:1px solid #315a84;border-bottom:1px solid #29496d;color:#dcecff;font-size:.8rem}.seat-edit-banner span{color:#9eb9d9}.zone-edit{display:inline-flex;align-items:center;gap:8px;border:1px solid #5a82ad55;border-radius:8px;background:#0d2340cc;color:#a8c9ec;padding:6px 10px;font-weight:650;cursor:pointer}.zone-edit:hover{border-color:#82b8ef;background:#173b63;color:#fff}.zone-edit em{font-style:normal;font-size:11px;color:#77ace4;opacity:0;transition:opacity .15s}.zone-edit:hover em{opacity:1}.seat-panel .seat-zone>span:has(.zone-edit){right:20px;top:16px;padding:0;border:0;background:none}.seat-panel .seat{user-select:none}.seat-panel .staff-palette{background:#102642aa;padding-top:14px}.seat-panel .staff-chip{transition:transform .15s,background .15s}.seat-panel .staff-chip:hover{transform:translateY(-1px);background:#234975}
.expense-reconcile{border-color:#dbe7f7}.expense-reconcile .panel-heading{background:linear-gradient(180deg,#f8fbff,#fff)}.expense-total{color:#0f766e;font-weight:700}
.floorplan-panel{background:#f8fbff;border-color:#d9e5f2;overflow:hidden}.floorplan-panel .seat-controls{background:linear-gradient(135deg,#11345f,#1c5e9d);border-bottom:0}.seat-readonly-note{margin-left:auto;color:#cfe4ff;font-size:.82rem}.floorplan-tabs{display:flex;gap:8px;padding:18px 22px 0;background:#f8fbff}.floorplan-tabs button{border:1px solid #c8d8ea;border-radius:10px;background:#fff;color:#456486;padding:10px 18px;font-size:.92rem;cursor:pointer;transition:all .16s ease}.floorplan-tabs button:hover{border-color:#3684df;color:#1766c3}.floorplan-tabs button.active{background:#176bd1;border-color:#176bd1;color:#fff;box-shadow:0 5px 14px #176bd133}.floorplan-note{padding:14px 22px 12px;color:#577392;font-size:.84rem;background:#f8fbff}.floorplan-stage{position:relative;width:min(100%,1536px);margin:0 auto 14px;line-height:0;background:#eef5fb;border:1px solid #dbe7f2;border-radius:12px;overflow:hidden;box-shadow:0 14px 30px #11345f12}.floorplan-stage>img{display:block;width:100%;height:auto}.floorplan-marker{position:absolute;transform:translate(-50%,-50%);min-width:78px;max-width:150px;padding:7px 9px 6px;border:2px solid #879bb4;border-radius:9px;background:#203c5de6;color:#eaf4ff;line-height:1.15;text-align:center;box-shadow:0 5px 14px #0c234355;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.floorplan-marker strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floorplan-marker small{display:block;margin-top:3px;font-size:10px;color:#b9cbe0}.floorplan-marker:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 9px 22px #0c234377;z-index:3}.floorplan-marker.active{border-color:#39c995;background:#0f6257e6}.floorplan-marker.leave{border-color:#f2b747;background:#765018e6}.floorplan-marker.resigned{border-color:#e97983;background:#6b2836e6}.floorplan-marker.unassigned{border-color:#b9c6d5;background:#334761dd}.floorplan-legend{display:flex;gap:18px;flex-wrap:wrap;padding:2px 22px 20px;color:#5d7592;font-size:.78rem}.floorplan-legend span{display:flex;align-items:center;gap:6px}.floorplan-legend i{width:9px;height:9px;border-radius:50%;background:#b9c6d5}.floorplan-legend i.active{background:#39c995}.floorplan-legend i.leave{background:#f2b747}.floorplan-legend i.resigned{background:#e97983}.floorplan-fallback{margin:22px;padding:16px;border:1px dashed #bfd0e3;border-radius:10px;color:#5d7592;background:#fff}@media(max-width:720px){.seat-readonly-note{width:100%;margin-left:0}.floorplan-tabs{padding:14px 12px 0}.floorplan-tabs button{flex:1;padding:9px 8px}.floorplan-note{padding:12px;font-size:.78rem}.floorplan-stage{border-radius:8px}.floorplan-marker{min-width:48px;max-width:88px;padding:4px 4px;border-width:1px;border-radius:6px}.floorplan-marker strong{font-size:9px}.floorplan-marker small{font-size:8px;margin-top:2px}.floorplan-legend{padding:0 12px 14px;gap:10px;font-size:.72rem}}
.seat-tools{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-left:auto}.seat-tools label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.seat-tools input[type=range]{width:128px;padding:0;accent-color:#63b3ff}.seat-tools output{display:inline-block;min-width:42px;color:#eaf4ff;font-variant-numeric:tabular-nums}.seat-tools .seat-edit-toggle{cursor:pointer}.seat-tools .seat-edit-toggle input{accent-color:#63b3ff}.floorplan-viewport{overflow:auto;max-height:860px;padding:0 18px 18px;background:#eef5fb;overscroll-behavior:contain}.floorplan-viewport .floorplan-stage{transform-origin:top left}.floorplan-stage.editing .floorplan-marker{cursor:move;touch-action:none}.floorplan-stage.editing .floorplan-marker:hover{transform:translate(-50%,-50%)}.seat-zone .zone-edit{pointer-events:auto;margin-left:8px;padding:3px 7px;border:1px solid #6384a9;border-radius:5px;background:#1c3d63;color:#d8e9ff;font-size:12px;cursor:pointer}.seat-zone .zone-edit:hover{border-color:#7db7f5;color:#fff}.seat-canvas.editing .seat{touch-action:none}.seat-tools .primary{margin:0}@media(max-width:720px){.seat-tools{width:100%;justify-content:flex-start;gap:12px}.seat-tools input[type=range]{width:100px}.floorplan-viewport{padding:0 8px 12px;max-height:600px}.floorplan-viewport .floorplan-stage{min-width:620px}.seat-zone>span{font-size:18px}.seat-zone .zone-edit{font-size:11px}}

/* Restored visual treatment for date cards and seat markers. */
.schedule-panel{padding:26px 28px 24px}.schedule-week,.schedule-grid{gap:10px}.schedule-cell{min-height:154px;padding:14px;border-radius:13px;box-shadow:0 1px 2px #173b6610;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.schedule-cell:hover{border-color:#b8cce5;box-shadow:0 6px 18px #173b6614;transform:translateY(-1px)}.schedule-cell strong{display:block;font-size:1.32rem;line-height:1.1;color:#1d3e68}.schedule-work{margin-top:16px;font-size:.82rem;color:#7d91aa}.schedule-item{padding:8px 9px;font-size:.8rem;border-radius:8px}.schedule-item span{font-size:.74rem}.weekend-cell{background:#fffafd;border-color:#f1dce2}.holiday-cell{background:#fff8f1;border-color:#f0c88e}.today-cell{box-shadow:0 0 0 2px #dbeafe,0 6px 18px #2f72c51c}
.schedule-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:16px 18px;border:1px solid #dbe7f7;border-radius:12px;background:linear-gradient(135deg,#f5f9ff,#fff);box-shadow:0 4px 14px #173b660b}.schedule-summary-title{color:#1d3e68;font-weight:750;font-size:.98rem}.schedule-summary-title span{font-weight:500;color:#7890ae;font-size:.8rem}.schedule-summary-stats{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.schedule-summary-stats span{display:grid;gap:3px;min-width:86px}.schedule-summary-stats b{color:#7890ae;font-size:.72rem;font-weight:600}.schedule-summary-stats strong{color:#1d3e68;font-size:1.08rem;font-variant-numeric:tabular-nums}.schedule-summary-stats span:first-child strong{color:#2563eb}.schedule-date-line{display:flex;align-items:center;gap:8px}.schedule-date-line strong{display:block}.schedule-relative{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eef4ff;color:#4b6f9e;font-size:.68rem;font-weight:650;line-height:1}.schedule-relative.today{background:#2563eb;color:#fff}.schedule-daily{display:grid;gap:3px;margin-top:12px;padding:8px 9px;border-radius:8px;background:#f7faff;color:#527098;font-size:.72rem;line-height:1.35;font-variant-numeric:tabular-nums}.today-cell .schedule-daily{background:#eef6ff;color:#315f98}.holiday-cell .schedule-daily{background:#fffaf2}.schedule-daily span:first-child{color:#2563eb;font-weight:650}.schedule-work{margin-top:10px}
.floorplan-stage .floorplan-marker{position:absolute!important;transform:translate(-50%,-50%)!important;min-width:78px!important;max-width:150px!important;padding:7px 9px 6px!important;border:2px solid #879bb4!important;border-radius:9px!important;background:#203c5de6!important;color:#eaf4ff!important;line-height:1.15!important;text-align:center!important;box-shadow:0 5px 14px #0c234355!important;cursor:pointer!important;display:block!important;z-index:2!important;font:inherit!important}.floorplan-stage .floorplan-marker strong{display:block!important;color:#eaf4ff!important;font-size:12px!important;line-height:1.15!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.floorplan-stage .floorplan-marker small{display:block!important;margin-top:3px!important;color:#b9cbe0!important;font-size:10px!important;line-height:1.15!important}.floorplan-stage .floorplan-marker:hover{transform:translate(-50%,-50%) scale(1.06)!important;box-shadow:0 9px 22px #0c234377!important;z-index:3!important}.floorplan-stage .floorplan-marker.active{border-color:#39c995!important;background:#0f6257e6!important}.floorplan-stage .floorplan-marker.leave{border-color:#f2b747!important;background:#765018e6!important}.floorplan-stage .floorplan-marker.resigned{border-color:#e97983!important;background:#6b2836e6!important}.floorplan-stage .floorplan-marker.unassigned{border-color:#b9c6d5!important;background:#334761dd!important}.floorplan-stage .floorplan-marker.employment-intern{border-color:#f6c453!important}.floorplan-stage .floorplan-marker.employment-partner{border-color:#4d91ed!important}.floorplan-stage .floorplan-marker.employment-coach{border-color:#35c995!important}
.seat-canvas .seat{position:absolute!important;width:145px!important;height:88px!important;border:2px solid #5a6e89!important;border-radius:9px!important;background:#172c47!important;color:#b0c4df!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font-size:16px!important;box-shadow:0 5px 16px #0003!important;z-index:2!important}.seat-canvas .seat strong{font-size:16px!important}.seat-canvas .seat small{font-size:12px!important}.seat-canvas .seat.active{border-color:#3bd499!important;background:#123e3c!important}.seat-canvas .seat.leave{border-color:#eaa640!important;background:#493923!important}.seat-canvas .seat.resigned{border-color:#df6575!important;background:#452836!important}.seat-canvas .seat.unassigned,.seat-canvas .seat.vacant{border-color:#879bb4!important;background:#334761dd!important}.seat-canvas .seat.employment-intern{border-color:#f6c453!important}.seat-canvas .seat.employment-partner{border-color:#4d91ed!important}.seat-canvas .seat.employment-coach{border-color:#35c995!important}
@media(max-width:720px){.schedule-panel{padding:14px}.schedule-summary{display:grid;padding:13px 14px;margin-bottom:14px}.schedule-summary-stats{gap:12px;justify-content:space-between}.schedule-summary-stats span{min-width:0}.schedule-summary-stats strong{font-size:.95rem}.schedule-cell{min-height:150px;padding:9px}.schedule-cell strong{font-size:1.08rem}.schedule-daily{padding:6px;font-size:.64rem}.schedule-item{padding:6px;font-size:.7rem}.schedule-item span{font-size:.64rem}}

/* High-contrast schedule status colors and more readable daily metrics. */
.schedule-cell{min-height:178px;background:#fff;border-color:#b9c9dc;color:#294568}.schedule-cell:not(.weekend-cell):not(.holiday-cell):not(.approved-leave-cell):not(.pending-leave-cell){background:#fff;border-color:#b9c9dc}.schedule-cell strong{font-size:1.45rem;color:#173a66}.schedule-week{font-size:.9rem;font-weight:700;color:#3f5f88}.schedule-daily{gap:5px;margin-top:13px;padding:10px 11px;background:#f1f6fd;color:#35587f;font-size:.84rem;line-height:1.4}.schedule-daily span:first-child{color:#145bd7;font-weight:750}.schedule-daily span:nth-child(2){color:#0c7c70;font-weight:650}.schedule-daily span:nth-child(3){color:#6c42c9;font-weight:650}.schedule-daily span:nth-child(4){color:#b05a0a;font-weight:750}.schedule-work{margin-top:13px;font-size:.86rem;font-weight:700;color:#48627f}.weekend-cell{background:#dfe7f1!important;border-color:#7f95ad!important}.weekend-cell .schedule-daily{background:#cbd8e7}.weekend-cell .schedule-work{color:#3d5877}.holiday-cell{background:#ffe0c2!important;border-color:#dd7f30!important}.holiday-cell .schedule-daily{background:#ffcfa8}.holiday-cell .schedule-work{color:#9d4e0e}.approved-leave-cell{background:#c8f0da!important;border-color:#269464!important;box-shadow:inset 5px 0 0 #168456}.approved-leave-cell .schedule-daily{background:#afe3c5}.pending-leave-cell{background:#ffebad!important;border-color:#c78b12!important;box-shadow:inset 5px 0 0 #ae7400}.pending-leave-cell .schedule-daily{background:#ffdf80}.schedule-item{padding:9px 10px;font-size:.84rem}.schedule-item span{font-size:.78rem}.schedule-legend{font-size:.86rem;font-weight:650}.schedule-legend i{width:11px;height:11px}.schedule-summary-stats strong{font-size:1.16rem}.schedule-summary-stats b{font-size:.78rem}

/* Employee removal remains distinct from ordinary profile editing. */
.staff-row-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.text-button.employee-delete{color:#be123c;font-weight:600;white-space:nowrap}
.employee-delete-notice{background:#fff7ed;border:1px solid #fed7aa;padding:16px;border-radius:10px;color:#7c2d12;line-height:1.7;margin:18px 0}
.employee-delete-notice p{margin:8px 0 0;font-size:14px}
.primary.employee-delete-confirm{background:#be123c}.employee-delete-confirm:disabled{opacity:.45;cursor:not-allowed}

/* Registration review and account-local sound preferences. */
#detail:has(.registration-sound-panel){width:min(960px,94vw);max-width:94vw}
.registration-reject-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:8px 0}.registration-reject-form label{flex:1;min-width:200px;white-space:normal}.registration-reject-form input{margin-top:6px}.registration-reject-row td{background:#fff8f4}
.registration-sound-panel~.table-wrap th:last-child,.registration-sound-panel~.table-wrap td:last-child{min-width:140px;white-space:nowrap}
.review-top-button.has-pending{background:#bc3c16;box-shadow:0 0 0 3px #ffedd5}
.registration-sound-panel{padding:18px 20px;margin:12px 0 20px;border:1px solid #c4d8f4;border-radius:14px;background:#f4f8ff;color:#183458}
.registration-sound-heading,.registration-sound-options,.registration-sound-actions,.registration-list-tools{display:flex;align-items:center;justify-content:space-between;gap:16px}
.registration-sound-heading h3{margin:0;font-size:17px}.registration-sound-heading p{font-size:13px;margin:5px 0 0;color:#526c8b}
.registration-sound-options{align-items:start;justify-content:flex-start;margin:18px 0}.registration-sound-options label{flex:1;margin:0;font-size:14px;font-weight:600}
.registration-sound-options select{margin-top:7px;background:#fff}.registration-sound-options input[type=range]{height:36px;padding:0;box-shadow:none;accent-color:#2563eb}
.registration-sound-options output{float:right;color:#1d4ed8}
.registration-audio-upload{font-size:14px;font-weight:600}.registration-audio-upload input{margin-top:6px;background:#fff}
#registration-sound-filename{display:block;margin-top:7px;overflow-wrap:anywhere;color:#1d4ed8;font-size:13px}
.registration-sound-actions{justify-content:flex-start;margin-top:14px;flex-wrap:wrap}
#registration-sound-status{font-size:14px;line-height:1.6;color:#24496f;margin:12px 0 6px}
.registration-sound-help{font-size:12px;line-height:1.6;color:#657d99;margin:0}
.registration-list-tools{margin-bottom:10px}.registration-list-tools p{margin:0;font-size:13px}
@media(max-width:600px){.registration-sound-panel{padding:14px}.registration-sound-options{flex-direction:column;gap:14px}.registration-sound-options label{width:100%}.registration-sound-heading{align-items:start}.registration-sound-heading .badge{white-space:nowrap}.registration-list-tools{align-items:start}}
