:root{color:#1f2933;background:#f4f7f8;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f4f7f8f5,#f4f7f8),#f4f7f8}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1440px,100%);margin:0 auto;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0 18px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.team-logo{width:66px;height:66px;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px #004b8d2e;flex:0 0 auto}.eyebrow{margin:0 0 5px;color:#607180;font-size:12px;font-weight:700;letter-spacing:0}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:#0d2b45;font-size:32px;line-height:1.1;letter-spacing:0}h2{margin-bottom:0;color:#18364b;font-size:22px;line-height:1.2;letter-spacing:0}h3{margin-bottom:10px;color:#18364b;font-size:16px}.view-tabs{display:inline-flex;gap:6px;padding:5px;border:1px solid #d6e0e6;border-radius:8px;background:#fff;box-shadow:0 8px 24px #132f420f}.view-tabs button,.date-tabs button,.desk-picker button,.admin-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;border-radius:6px;color:#415462;background:transparent;font-weight:700}.view-tabs button{padding:0 13px}.view-tabs button.active,.date-tabs button.active,.desk-picker button.active{color:#fff;background:#126f8f}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:54px;padding:12px 14px;border:1px solid #d9e4e7;border-radius:8px;background:#fff}.metric svg{color:#126f8f}.metric strong{font-size:24px;color:#18364b}.metric.free svg{color:#16815d}.metric.booked svg{color:#1769aa}.metric.inuse svg{color:#b85f00}.metric.locked svg{color:#9a3412}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.workspace.message-view{grid-template-columns:minmax(0,720px);justify-content:center}.workspace.message-view .side-panel{position:static}.schedule-panel,.form-panel{border:1px solid #d9e4e7;border-radius:8px;background:#fff;box-shadow:0 10px 30px #132f420f}.schedule-panel{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid #e3ebef}.panel-head.compact{padding:0 0 16px;border-bottom:0}.panel-head.compact svg{color:#126f8f}.date-tabs{display:inline-flex;gap:6px;padding:5px;border:1px solid #d6e0e6;border-radius:8px;background:#f7fafb}.panel-tools{display:flex;align-items:center;gap:10px}.icon-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #cdd9df;border-radius:7px;padding:0 10px;color:#344957;background:#fff;font-weight:800}.icon-action:hover{border-color:#126f8f;color:#126f8f}.icon-action:disabled{cursor:not-allowed;color:#8b98a1;background:#eef3f5}.date-tabs button{flex-direction:column;min-width:76px;padding:6px 10px;line-height:1.15}.date-tabs button span{font-size:12px}.date-tabs button strong{font-size:14px}.time-groups{display:grid;gap:10px;padding:12px 14px 16px}.time-group,.time-picker-group{border:1px solid #d9e4e7;border-radius:8px;background:#fff;overflow:hidden}.time-group summary,.time-picker-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 14px;color:#18364b;background:#f7fafb;cursor:pointer;font-weight:800}.time-group summary span,.time-picker-group summary span{display:inline-flex;align-items:baseline;gap:8px}.time-group summary em,.time-picker-group summary em{color:#607180;font-size:12px;font-style:normal}.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.hour-block{display:grid;gap:8px;padding:10px;border:1px solid #e1eaee;border-radius:8px;background:#fbfdfe}.hour-label{display:inline-flex;align-items:center;gap:6px;color:#526573;font-size:13px;font-weight:800}.hour-label svg{color:#81929d}.desk-cell-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.desk-cell,.time-chip{border:1px solid #d8e3e8;border-radius:8px;color:#1f2933;background:#f9fbfc;font-weight:800}.desk-cell{display:grid;gap:3px;min-height:54px;padding:8px 6px}.desk-cell strong{font-size:15px}.desk-cell span,.time-chip span{color:#526573;font-size:11px;line-height:1.25}.desk-cell:hover,.time-chip:not(:disabled):hover{border-color:#126f8f;box-shadow:0 8px 20px #126f8f1a}.desk-cell.selected,.time-chip.selected{border-color:#0d5f7a;box-shadow:inset 0 0 0 2px #0d5f7a}.desk-cell.free,.time-chip.free{background:#e1f8ea;border-color:#66c58f}.desk-cell.booked,.time-chip.booked{background:#dbeafe;border-color:#4f8edc}.desk-cell.in_use,.time-chip.in_use{background:#fff1d6;border-color:#f59e0b}.desk-cell.locked,.time-chip.locked{background:#ffe4e6;border-color:#fb7185}.desk-cell.no_show_free,.time-chip.no_show_free{background:#ede9fe;border-color:#a78bfa}.desk-cell.past,.time-chip.past,.time-chip:disabled{color:#7b8790;background:#eef2f4;border-color:#d8dee2;cursor:not-allowed}.timeline{padding:10px 14px 16px}.timeline-head,.slot-row{display:grid;grid-template-columns:118px repeat(3,minmax(0,1fr));gap:8px}.timeline-head{position:sticky;top:0;z-index:1;padding:6px 0 8px;background:#fff;color:#607180;font-size:12px;font-weight:800}.timeline-head span:not(:first-child){text-align:center}.slot-row{align-items:stretch;margin-bottom:8px}.time-cell{display:flex;align-items:center;gap:6px;min-height:62px;color:#526573;font-size:13px;font-weight:800}.time-cell svg{color:#81929d;flex:0 0 auto}.slot-card{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:62px;padding:10px;border:1px solid #d8e3e8;border-radius:8px;text-align:left;background:#f9fbfc;color:#1f2933;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.slot-card:hover{transform:translateY(-1px);border-color:#9fc4d1;box-shadow:0 8px 20px #126f8f1a}.slot-card.selected{border-color:#126f8f;box-shadow:inset 0 0 0 1px #126f8f,0 10px 22px #126f8f1f}.slot-card.free{background:#e1f8ea;border-color:#66c58f}.slot-card.booked{background:#dbeafe;border-color:#4f8edc}.slot-card.in_use{background:#fff7ed;border-color:#fed7aa}.slot-card.locked{background:#fff1f2;border-color:#fecdd3}.slot-card.no_show_free{background:#f6f3ff;border-color:#d7ccff}.slot-card.past{background:#f2f4f5;border-color:#d8dee2;color:#7b8790}.slot-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.slot-topline strong{font-size:15px}.slot-topline small{color:#607180;font-weight:800}.slot-detail{display:block;min-height:18px;color:#526573;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.side-panel{position:sticky;top:14px}.form-panel{padding:18px}.form-panel label{display:grid;gap:7px;margin-bottom:13px;color:#344957;font-size:13px;font-weight:800}.form-panel input,.form-panel select,.form-panel textarea{width:100%;border:1px solid #cdd9df;border-radius:7px;color:#1f2933;background:#fff;outline:none}.form-panel input,.form-panel select{min-height:42px;padding:0 11px}.form-panel textarea{min-height:132px;padding:10px 11px;line-height:1.5;resize:vertical}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:#126f8f;box-shadow:0 0 0 3px #126f8f1f}.desk-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px}.desk-picker button{border:1px solid #cdd9df;background:#f7fafb}.compact-picker{margin-top:-8px}.field-block{display:grid;gap:8px;margin-bottom:13px}.field-title{color:#344957;font-size:13px;font-weight:800}.time-picker-groups{display:grid;gap:8px}.time-picker-group summary{min-height:42px;padding:0 12px}.time-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.time-chip{display:grid;gap:3px;min-height:54px;padding:8px;text-align:left}.time-chip strong{font-size:12px}.selection-note{display:grid;gap:5px;margin:14px 0;padding:12px;border-radius:8px;border:1px solid #d8e3e8;background:#f7fafb}.selection-note strong{color:#18364b;overflow-wrap:anywhere}.selection-note span{color:#526573;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.selection-note.free{border-color:#bfe8d7;background:#f1fbf7}.selection-note.booked{border-color:#bdd8f2;background:#eef6ff}.selection-note.in_use{border-color:#fed7aa;background:#fff7ed}.selection-note.locked{border-color:#fecdd3;background:#fff1f2}.selection-note.no_show_free{border-color:#d7ccff;background:#f6f3ff}.message{margin:0 0 12px;color:#0f6179;font-size:13px;font-weight:800;line-height:1.45}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;border:0;border-radius:8px;color:#fff;background:#126f8f;font-weight:800}.primary-action:hover{background:#0f607c}.primary-action:disabled{cursor:not-allowed;color:#7b8790;background:#dbe3e7}.primary-action.secondary{color:#18364b;background:#e7f2f4}.legend-list{display:grid;gap:12px;margin-bottom:16px}.legend-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.legend-item p{margin:3px 0 0;color:#607180;font-size:13px;line-height:1.45}.legend-dot{width:14px;height:14px;margin-top:3px;border-radius:50%;background:#cdd9df}.legend-dot.free{background:#16a34a}.legend-dot.booked{background:#2563eb}.legend-dot.in_use{background:#d97706}.legend-dot.locked{background:#e11d48}.legend-dot.no_show_free{background:#7c5cff}.admin-detail{display:grid;gap:10px;margin:14px 0;padding-top:2px}.admin-detail p{margin:0;color:#344957;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-actions button{min-height:42px;border:1px solid #cdd9df;background:#f7fafb}.admin-actions button:hover{border-color:#126f8f;color:#126f8f}.log-list,.suggestion-list{margin-top:18px;padding-top:15px;border-top:1px solid #e3ebef}.suggestion-item{display:grid;gap:8px;padding:12px;border:1px solid #d8e3e8;border-radius:8px;background:#f9fbfc}.suggestion-item+.suggestion-item{margin-top:10px}.suggestion-item.done{background:#f1fbf7;border-color:#bfe8d7}.suggestion-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.suggestion-meta strong{color:#18364b}.suggestion-meta span,.contact-line{color:#607180;font-size:12px}.suggestion-item p{margin:0;color:#344957;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.suggestion-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.suggestion-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid #cdd9df;border-radius:7px;color:#344957;background:#fff;font-weight:800}.suggestion-actions button:hover{border-color:#126f8f;color:#126f8f}.log-item{padding:10px 0;border-top:1px solid #eef3f5}.log-item:first-of-type{border-top:0}.log-item strong{display:block;color:#18364b}.log-item span,.log-item p,.empty-text{margin:3px 0 0;color:#607180;font-size:12px;line-height:1.4}@media(max-width:980px){.app-shell{padding:16px}.topbar{align-items:stretch;flex-direction:column}.view-tabs{width:100%}.view-tabs button{padding:0 8px;flex:1}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.side-panel{position:static}.workspace.booking-view .side-panel,.workspace.status-view .side-panel{order:-1}.slot-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-shell{padding:12px}.team-logo{width:54px;height:54px}h1{font-size:24px}h2{font-size:19px}.summary-strip{grid-template-columns:1fr 1fr;gap:8px}.metric{grid-template-columns:auto 1fr;gap:7px;min-height:58px}.metric strong{grid-column:2;font-size:20px}.panel-head{align-items:stretch;flex-direction:column;padding:14px}.panel-tools{align-items:stretch;flex-direction:column}.date-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.date-tabs button{min-width:0;padding:7px 4px}.timeline{padding:8px 10px 12px}.timeline-head{display:none}.slot-row{grid-template-columns:1fr;gap:6px;padding:10px 0;margin-bottom:0;border-top:1px solid #edf2f4}.slot-row:first-of-type{border-top:0}.time-cell{min-height:auto}.slot-card{min-height:56px}.time-groups{padding:8px 10px 12px}.time-group summary,.time-picker-group summary{min-height:44px}.slot-grid,.time-chip-grid{gap:8px;padding:8px}.hour-block{padding:8px}.desk-cell{min-height:48px;padding:7px 4px}.desk-cell span{font-size:10px}.admin-actions,.suggestion-meta,.suggestion-actions{grid-template-columns:1fr}.suggestion-meta{align-items:start}}
