:root{color:#2e2927;font-synthesis:none;text-rendering:optimizelegibility;--ink:#2e2927;--muted:#796f6a;--paper:#f8f4f0;--surface:#fffdfb;--line:#e4dcd5;--accent:#9f4147;--accent-dark:#7f3036;--idle:#557d65;--idle-soft:#e8f0e9;--working:#a56b21;--working-soft:#f7ead7;--off:#716d6a;--off-soft:#eeecea;background:#f8f4f0;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}#root{min-height:100vh}.center-state{min-height:100vh;color:var(--muted);place-items:center;display:grid}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.login-shell{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:100vh;display:grid}.login-intro{color:#fff9f5;background:linear-gradient(145deg,#3a2d2c 0%,#6f3539 62%,#9f4147 100%);flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);display:flex;position:relative;overflow:hidden}.login-intro:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:480px;height:480px;position:absolute;bottom:-210px;right:-150px;box-shadow:0 0 0 60px #ffffff09,0 0 0 120px #ffffff06}.brand-mark{letter-spacing:.12em;border:1px solid #ffffffa6;border-radius:18px;place-items:center;width:66px;height:66px;margin-bottom:64px;font-family:serif;font-size:20px;display:grid}.login-intro .eyebrow{color:#e5bbb8}.login-intro h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(42px,6vw,76px);font-weight:500;line-height:1.13}.login-copy{color:#dfceca;max-width:480px;margin:28px 0 0;font-size:17px;line-height:1.8}.login-panel{background:var(--surface);place-items:center;padding:48px;display:grid}.login-panel form{width:min(100%,390px)}.login-panel h2{margin:0 0 38px;font-family:Georgia,Songti SC,serif;font-size:38px;font-weight:500}.login-panel label{color:var(--muted);gap:9px;margin-bottom:22px;font-size:13px;font-weight:700;display:grid}.login-panel input{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;padding:14px 16px}.login-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #9f41471a}.form-error{color:#a22f37;margin:-6px 0 18px;font-size:13px}.primary-button,.ghost-button,.card-actions button,.delete-button{border:0;border-radius:9px;transition:background .15s,color .15s,transform .15s}.primary-button{color:#fff;background:var(--accent);width:100%;padding:14px 20px;font-weight:750}.primary-button:hover{background:var(--accent-dark)}.primary-button:active{transform:translateY(1px)}.primary-button.compact{width:auto;padding:11px 17px}.app-shell{width:min(1500px,100%);margin:0 auto;padding:34px clamp(20px,4vw,64px) 72px}.topbar,.toolbar,.employee-section>header,.employee-summary,.topbar-actions{align-items:center;display:flex}.topbar{justify-content:space-between;gap:24px;margin-bottom:34px}.topbar h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:42px;font-weight:500}.topbar-actions{gap:14px}.connection-pill{color:var(--idle);background:var(--idle-soft);border-radius:99px;align-items:center;gap:7px;padding:7px 11px;font-size:12px;font-weight:750;display:inline-flex}.connection-pill i{background:var(--idle);border-radius:50%;width:7px;height:7px}.connection-pill.connecting,.connection-pill.reconnecting{color:#8a641d;background:#f8edcf}.connection-pill.connecting i,.connection-pill.reconnecting i{background:#bd851e;animation:1.2s ease-in-out infinite connection-pulse}.connection-pill.disconnected{color:#963f45;background:#f8dfe0}.connection-pill.disconnected i{background:#b4474f}.speech-pill{color:#496442;background:#e6f0e3;border-radius:99px;padding:7px 11px;font-size:12px;font-weight:750}.speech-pill.unavailable{color:#8a641d;background:#f8edcf}@keyframes connection-pulse{50%{opacity:.35;transform:scale(.8)}}.user-name{color:var(--muted);font-size:14px}.ghost-button{color:var(--muted);background:0 0;padding:9px 13px}.ghost-button:hover{color:var(--ink);background:#eee7e1}.error-banner{color:#892e34;background:#f9e1e1;border:1px solid #ecc0c2;border-radius:10px;margin-bottom:18px;padding:13px 16px}.connection-warning{color:#735618;background:#fff3d6;border:1px solid #ead59f;border-radius:10px;margin-bottom:18px;padding:12px 16px;font-size:13px}.toolbar{border:1px solid var(--line);background:#fffdfbb8;border-radius:14px;justify-content:space-between;gap:20px;margin-bottom:22px;padding:18px 20px}.toolbar p{color:var(--muted);margin:0;font-size:14px}.status-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.employee-section{border:1px solid var(--line);background:#fffdfbbd;border-top-width:4px;border-radius:15px;min-width:0;padding:18px}.employee-section>header{justify-content:space-between;margin-bottom:16px}.employee-section h2{margin:0 0 4px;font-size:20px}.employee-section header p{color:var(--muted);margin:0;font-size:12px}.employee-section header>span{text-align:center;background:#f0ebe7;border-radius:99px;min-width:48px;padding:7px 9px;font-size:12px;font-weight:750}.section-idle{border-top-color:var(--idle)}.section-working{border-top-color:var(--working)}.section-offduty{border-top-color:var(--off)}.card-grid{gap:12px;display:grid}.employee-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 5px 18px #392a260a}.employee-card.alert-advance{border-color:#d7ad5a;box-shadow:0 0 0 2px #d7ad5a33,0 8px 24px #7250141a}.employee-card.alert-due{border-color:#c94d56;box-shadow:0 0 0 3px #c94d5638,0 8px 28px #912d3524}.employee-summary{gap:12px;margin-bottom:15px}.avatar-button{background:0 0;border:0;border-radius:12px;flex:none;padding:0}.avatar-button:disabled{cursor:default}.avatar-button.acknowledge-ready{cursor:pointer;animation:1.4s ease-in-out infinite alert-pulse}@keyframes alert-pulse{50%{transform:scale(1.07);box-shadow:0 0 0 5px #c94d562e}}.avatar{color:#fff;object-fit:cover;background:linear-gradient(145deg,#b45a60,#7e3439);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-family:serif;font-size:18px;display:grid}.employee-summary h3{margin:0 0 4px;font-size:16px}.employee-summary p{color:var(--muted);margin:0;font-size:11px}.alert-list{gap:6px;margin:-2px 0 13px;display:grid}.alert-row{border-radius:9px;gap:3px;padding:9px 11px;font-size:11px;display:grid}.alert-row.advance{color:#76551f;background:#fff2d4;border:1px solid #ead095}.alert-row.due{color:#93373e;background:#fae5e6;border:1px solid #eab8bb}.alert-row.acknowledged{color:#496442;background:#e9f1e6;border-color:#cbdcc6}.alert-row span{color:inherit;font-size:10px}.work-session-summary{background:#f7f0e6;border:1px solid #ead9bf;border-radius:10px;margin:-2px 0 13px;padding:11px 12px}.work-session-summary.due{color:#9a393f;background:#fae7e7;border-color:#ebbec1}.work-session-summary>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.work-session-summary strong{font-size:13px}.work-session-summary p{color:var(--muted);margin:7px 0 0;font-size:11px}.location-badge{color:#7a5420;background:#f1dfbf;border-radius:99px;padding:4px 7px;font-size:10px;font-weight:800}.work-session-summary.due .location-badge{color:#8d363d;background:#f2cbcd}.reservation-list{gap:7px;margin:-2px 0 13px;display:grid}.reservation-list-title{color:var(--muted);letter-spacing:.12em;margin:0 0 1px;font-size:10px;font-weight:800}.reservation-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;display:grid}.reservation-time{min-width:0;color:var(--ink);text-align:left;background:#f0f3ee;border:1px solid #dbe4d8;border-radius:9px;gap:3px;padding:9px 10px;display:grid}.reservation-time strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.reservation-time span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.reservation-time:hover:not(:disabled){background:#e7eee4;border-color:#c6d5c2}.reservation-cancel{color:#963f45;background:#fae8e8;border:0;border-radius:8px;padding:0 9px;font-size:11px}.reservation-time:disabled,.reservation-cancel:disabled{cursor:not-allowed;opacity:.6}.avatar-upload{color:var(--accent);cursor:pointer;margin:-5px 0 11px 54px;font-size:11px;font-weight:700;display:block}.avatar-upload:hover{text-decoration:underline}.avatar-upload.disabled{color:#aaa29e;cursor:not-allowed;text-decoration:none}.avatar-upload input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.card-actions{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.card-actions button{color:var(--muted);background:#f1ece8;padding:8px 4px;font-size:12px}.card-actions button:hover:not(:disabled){color:var(--ink);background:#e8dfd8}.card-actions button.active{color:#fff;background:var(--accent)}.card-actions button:disabled{color:#aaa29e;opacity:.65}.delete-button{color:#9a393f;background:0 0;width:100%;margin-top:9px;padding:7px;font-size:12px}.delete-button:hover{background:#fae8e8}.delete-button:disabled{color:#aaa29e;cursor:not-allowed}.primary-button:disabled{cursor:not-allowed;opacity:.55}.empty-state{color:#a59b95;text-align:center;border:1px dashed #d9cec7;border-radius:10px;padding:34px 15px;font-size:13px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#261d1c8a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.account-modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(920px,100%);max-height:calc(100vh - 48px);padding:25px;overflow:auto;box-shadow:0 24px 80px #261d1c47}.work-session-modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(460px,100%);max-height:calc(100vh - 48px);padding:25px;overflow:auto;box-shadow:0 24px 80px #261d1c47}.work-session-modal>header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.work-session-modal h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:30px;font-weight:500}.work-session-modal label{color:var(--muted);gap:7px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.work-session-modal input,.work-session-modal select{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:12px}.work-session-modal input:focus,.work-session-modal select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #9f41471a}.modal-hint{color:var(--muted);margin:-3px 0 18px;font-size:11px;line-height:1.6}.account-modal>header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.account-modal h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:32px;font-weight:500}.modal-close{width:38px;height:38px;color:var(--muted);background:#f1ece8;border:0;border-radius:50%;font-size:24px;line-height:1}.account-layout{grid-template-columns:1.1fr .9fr;gap:25px;display:grid}.account-list,.account-form{min-width:0}.account-list h3,.account-form h3{margin:0 0 16px;font-size:16px}.account-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.account-list article div{gap:4px;min-width:0;display:grid}.account-list strong{font-size:14px}.account-list span{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.account-list em{color:var(--accent);background:#f6e9e8;border-radius:99px;flex:none;padding:5px 8px;font-size:11px;font-style:normal;font-weight:750}.account-form{background:#f7f2ee;border-radius:13px;padding:20px}.account-form label{color:var(--muted);gap:7px;margin-bottom:14px;font-size:12px;font-weight:700;display:grid}.account-form input,.account-form select{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:11px 12px}.account-form input:focus,.account-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #9f41471a}.muted-text{color:var(--muted);font-size:13px}@media (width<=1050px){.status-board{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (width<=760px){.login-shell{grid-template-columns:1fr}.login-intro{min-height:42vh;padding:40px 28px}.brand-mark{margin-bottom:36px}.login-panel{padding:44px 28px}.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.connection-pill{flex:none}.toolbar{flex-direction:column;align-items:stretch}.primary-button.compact{width:100%}.account-layout{grid-template-columns:1fr}}@media (width<=480px){.app-shell{padding:24px 14px 48px}.topbar h1{font-size:34px}.user-name{display:none}.card-grid{grid-template-columns:1fr}}
