:root{--ink: #23312d;--muted: #68736f;--board: #fbf7eb;--board-deep: #f2ead7;--line: rgba(54, 72, 66, .13);--rail: #24443b;--paper: #fffdf6;--shadow: 0 12px 24px rgba(36, 47, 42, .12)}*{box-sizing:border-box}body{margin:0;min-width:1180px;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--board);background-size:32px 32px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:22px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;border:3px solid #d8cdb4;border-radius:8px;background:#fffdf6db;box-shadow:var(--shadow)}.eyebrow{margin:0 0 4px;color:#6d4f21;font-size:.8rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2.4rem,4vw,4.4rem);line-height:.95}h2{margin-bottom:0;font-size:1.65rem}.header-actions,.toolbar-actions,.top-nav,.segmented-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-nav{margin:18px 0 12px;padding:8px;border-radius:8px;background:var(--rail);box-shadow:inset 0 -5px #00000029}.top-nav button,.segmented-control button,.icon-text-button,.primary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;font-weight:800}.top-nav button{min-height:48px;padding:0 18px;color:#f9f2dd;background:transparent}.top-nav button.active{color:var(--ink);background:#f7d97f}.nav-spacer{flex:1}.nav-date,.user-pill,.sample-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border-radius:999px;font-weight:800;background:#efe4ca}.sample-pill{background:#f7d97f}.segmented-control{margin-bottom:18px;padding:7px;width:fit-content;border:2px solid #d6c8aa;border-radius:8px;background:#f7efdd}.segmented-control button{min-height:42px;padding:0 16px;color:var(--muted);background:transparent}.segmented-control button.active{color:#11251f;background:#fff;box-shadow:inset 0 -4px #58a6d8}.primary-button{min-height:44px;padding:0 16px;color:#10211d;background:#f7d97f;box-shadow:inset 0 -4px #78571338}.marker-button{font-size:1.15rem}.icon-text-button{min-height:42px;padding:0 14px;color:var(--ink);background:#fff;border:2px solid #d4c7aa}.icon-button{width:34px;height:34px;color:var(--ink);background:#fffc;border:1px solid rgba(35,49,45,.15)}.icon-button.large{width:42px;height:42px}.board-section{padding:16px;border:3px solid #d8cdb4;border-radius:8px;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),#fffdf6db;background-size:28px 28px;box-shadow:var(--shadow)}.wide-board{overflow-x:auto}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.date-input{min-height:42px;padding:0 12px;border:2px solid #cdbc9b;border-radius:7px;background:#fffdf6;font-weight:800}.date-nav{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.today-people-board{display:grid;gap:14px}.person-today-row{display:grid;grid-template-columns:220px 1fr 1fr 1fr minmax(170px,.6fr);gap:12px;align-items:stretch;min-height:150px;padding:10px;border-bottom:2px dashed rgba(36,68,59,.2)}.row-label{padding:14px;border-left:8px solid #58a6d8;border-radius:7px;background:#fff7d8;box-shadow:inset 0 -5px #8261121f}.row-label strong{display:block;font-size:1.35rem}.row-label span{display:block;margin-top:4px;color:var(--muted);font-weight:700}.sticky-label{position:sticky;left:0;z-index:2}.day-part-column{min-height:130px;padding:10px;border:2px solid rgba(36,68,59,.14);border-radius:8px;background:#ffffff75}.day-part-column h3{margin-bottom:8px;font-size:1rem;color:#52615d}.available-chip,.empty-state{display:flex;flex-direction:column;justify-content:center;min-height:62px;padding:12px;border:2px dashed #c8bea6;border-radius:7px;color:#52615d;background:#ffffff73;font-weight:800}.available-chip.add-slot{width:100%;border-style:dashed;cursor:pointer}.available-chip.add-slot strong{margin-top:4px;color:#24443b}.available-chip.add-slot:hover{border-color:#58a6d8;background:#ffffffd1}.empty-state span{margin-top:3px;font-weight:600}.magnet-card{position:relative;display:grid;gap:7px;margin-bottom:8px;padding:12px 44px 12px 14px;border-radius:7px;border:2px solid rgba(25,39,34,.18);color:#14221f;box-shadow:inset 0 -5px #0000001f,0 5px 10px #23312d1f}.magnet-card.compact{min-height:58px;padding:8px;font-size:.86rem}.magnet-card.draggable{cursor:grab}.magnet-card.draggable:active{cursor:grabbing}.drop-target{transition:background-color .16s ease,border-color .16s ease}.drop-target:hover{border-color:#24443b5c;background:#ffffffad}.magnet-main strong,.magnet-main span,.magnet-meta span{display:block}.magnet-main strong{font-size:1rem}.magnet-main span,.magnet-meta{color:#0c1915b8;font-size:.86rem;font-weight:800}.magnet-actions{position:absolute;top:7px;right:7px;display:flex;gap:4px}.status-blue{background-color:#b8dcff}.status-green{background-color:#bce8cb}.status-orange{background-color:#ffd19c}.status-purple{background-color:#dbc7ff}.status-grey{background-color:#dedbd2}.status-red{background-color:#ffb7ad}.status-amber{background-color:#ffe58a}.status-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(35,49,45,.16);font-size:.85rem;font-weight:900}.two-week-grid,.six-week-grid,.zoom-grid{display:grid;min-width:1760px;border:2px solid rgba(36,68,59,.18);background:#ffffff8c}.six-week-grid{min-width:2920px}.corner-cell,.day-head,.subhead,.time-head,.planner-cell{min-height:44px;padding:8px;border-right:1px solid rgba(36,68,59,.14);border-bottom:1px solid rgba(36,68,59,.14)}.corner-cell,.day-head,.subhead,.time-head{display:flex;align-items:center;justify-content:center;font-weight:900;background:#ede2c8}.today-head{background:#f7d97f}.weekend,.weekend-cell{background-color:#50565214;color:#747a77}.planner-cell{min-height:82px;background:#fffdf6b8}.timeline-label{min-height:86px}.timeline-row-track{position:relative;display:grid;grid-column:span 28;grid-template-columns:repeat(28,minmax(92px,1fr));align-items:stretch;min-height:86px;background:#fffdf6b8}.hourly-row-track,.six-week-row-track{grid-column:auto}.timeline-slot-cell{min-height:72px;padding:7px;border-right:1px solid rgba(36,68,59,.14);border-bottom:1px solid rgba(36,68,59,.14)}.timeline-available{min-height:50px;padding:8px;font-size:.78rem}.timeline-magnet{position:relative;z-index:2;display:flex;align-items:stretch;align-self:stretch;min-height:54px;margin:7px 5px;padding:0 28px;overflow:visible;border:2px solid rgba(25,39,34,.22);border-radius:999px;color:#14221f;box-shadow:inset 0 -5px #00000024,0 7px 12px #23312d26}.timeline-magnet:active{opacity:.82;outline:3px solid rgba(88,166,216,.42)}.timeline-magnet-body{display:grid;gap:2px;flex:1;min-width:0;padding:9px 54px 9px 0}.timeline-magnet-body.draggable{cursor:grab}.timeline-magnet-body.draggable:active{cursor:grabbing}.timeline-magnet-body strong,.timeline-magnet-body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-magnet-body span{color:#0c1915bd;font-size:.78rem;font-weight:850}.timeline-magnet-actions{position:absolute;top:10px;right:20px;display:flex;gap:4px}.resize-handle{position:absolute;top:-2px;z-index:4;width:26px;height:calc(100% + 4px);padding:0;border:0;background:#14221f2e;cursor:ew-resize}.resize-handle:after{content:"";position:absolute;top:17px;bottom:17px;width:3px;border-radius:999px;background:#14221f75}.resize-handle.left{left:-4px;border-radius:999px 0 0 999px}.resize-handle.left:after{left:7px}.resize-handle.right{right:-4px;border-radius:0 999px 999px 0}.resize-handle.right:after{right:7px}.hour-cell{min-height:96px}.six-week-head{min-height:58px;padding:6px 4px;font-size:.78rem;text-align:center}.six-week-cell{min-height:76px;padding:5px}.timeline-magnet.timeline-magnet-compact{min-height:48px;margin:6px 3px;padding:0 24px;border-radius:8px}.timeline-magnet-compact .timeline-magnet-body{padding:7px 46px 7px 0}.job-card-grid,.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.job-card,.attention-card{padding:16px;border:2px solid #d6c8aa;border-radius:8px;background:#fffdf6eb;box-shadow:inset 0 -6px #24443b14}.job-card-head,.attention-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.job-card h3,.attention-card h3{margin-bottom:4px;font-size:1.35rem}.job-day-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.job-card-head span,.doc-line{color:var(--muted);font-weight:900}.job-timeline-label strong{font-size:1.05rem}.job-timeline-label span{font-size:.78rem;line-height:1.25}.attention-card{display:flex;gap:14px;border-color:#e2ba39;background:#fff6cf}.attention-card svg{flex:0 0 auto;color:#936b00}.settings-page{padding:16px;border:3px solid #d8cdb4;border-radius:8px;background:#fffdf6e6;box-shadow:var(--shadow)}.settings-header,.settings-panel h3,.admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:16px;align-items:start}.settings-panel{display:grid;gap:14px;padding:16px;border:2px solid #d6c8aa;border-radius:8px;background:#fffdf6f0}.settings-panel h3{justify-content:flex-start;margin:0}.compact-form{display:grid;gap:10px}.compact-form input,.compact-form select{min-height:42px;padding:8px 10px;border:2px solid #d1c3a6;border-radius:7px;background:#fff}.toggle-row{display:flex;align-items:center;gap:8px;font-weight:800}.toggle-row input{width:18px;min-height:18px}.admin-list{display:grid;gap:8px}.admin-list.compact{display:flex;flex-wrap:wrap}.admin-row,.admin-chip{padding:10px;border:2px solid rgba(36,68,59,.14);border-radius:7px;background:#fff7d8}.order-row{border-left-width:8px}.row-actions{display:inline-flex;align-items:center;gap:6px}.inline-select{min-height:34px;padding:4px 8px;border:2px solid #d1c3a6;border-radius:7px;background:#fffdf6;font-weight:800}.archived-section{display:grid;gap:10px;margin-top:12px}.archived-list{padding-top:8px;border-top:2px dashed rgba(36,68,59,.2)}.archived-row{opacity:.82;background:#efe9da}.tv-settings-list{display:grid;gap:8px}.tv-setting-row{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;border:1px solid rgba(36,68,59,.14);border-radius:7px;background:#fff7d8;font-weight:850}.tv-setting-row input{width:18px;min-height:18px}.settings-note{margin:0;color:var(--muted);font-size:.88rem;font-weight:800}.admin-row span{display:block;color:var(--muted);font-weight:800}.admin-chip{border-left-width:8px;font-weight:900}.admin-chip.editable{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end;background:#121f1b59}.editor-panel{position:relative;width:min(560px,100vw);height:100%;padding:28px;overflow-y:auto;background:var(--paper);box-shadow:-16px 0 28px #121f1b3d}.panel-close{position:absolute;top:18px;right:18px}.editor-form{display:grid;gap:14px}.editor-form h2{margin-right:46px}.editor-form label{display:grid;gap:6px;color:#53615d;font-weight:900}.people-picker{display:grid;gap:8px;margin:0;padding:12px;border:2px solid #d1c3a6;border-radius:7px;background:#fff}.people-picker legend{padding:0 6px;color:#53615d;font-weight:900}.people-picker-list{display:flex;flex-wrap:wrap;gap:8px}.people-check{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:6px!important;min-height:34px;padding:6px 9px;border:1px solid rgba(35,49,45,.16);border-radius:999px;background:#fff7d8}.people-check input{width:16px;min-height:16px}.form-hint{color:var(--muted);font-size:.84rem;font-weight:800}.editor-form input,.editor-form select,.editor-form textarea{width:100%;min-height:44px;padding:9px 11px;border:2px solid #d1c3a6;border-radius:7px;color:var(--ink);background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-page,.setup-page,.access-page,.loading-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-board,.setup-panel,.access-panel{width:min(680px,100%);padding:42px;border:4px solid #d8cdb4;border-radius:8px;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),#fffdf6f2;background-size:28px 28px;box-shadow:var(--shadow)}.access-panel{display:grid;gap:12px}.login-copy{max-width:520px;color:var(--muted);font-size:1.18rem;font-weight:700}.setup-note,.error-text,.top-error,.board-error{color:#8b1f15;font-weight:800}.top-error,.board-error{margin-bottom:12px;padding:12px 14px;border-radius:7px;background:#ffe2dc}.loading-screen.in-app{min-height:360px}.tv-shell{padding:0}.tv-mode{min-height:100vh;padding:24px;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--board);background-size:34px 34px}.tv-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 18px;border-radius:8px;background:var(--rail);color:#fff7dd}.tv-header h1{font-size:3.1rem}.tv-clock{text-align:right;font-weight:800}.tv-clock strong{display:block;font-size:2rem}.tv-header-actions{display:flex;align-items:center;gap:16px}.tv-exit-button{min-height:42px;padding:0 16px;border:2px solid rgba(255,247,221,.42);border-radius:7px;color:#10211d;background:#f7d97f;font-weight:900;box-shadow:inset 0 -4px #78571338}.tv-mode .board-section{box-shadow:none}.tv-mode .board-toolbar,.tv-mode .magnet-actions,.tv-mode .available-chip{display:none}.tv-mode .timeline-slot-cell,.tv-mode .planner-cell{min-height:42px}.tv-mode .timeline-magnet{min-height:64px;font-size:1.05rem}.tv-mode .timeline-magnet-body span{font-size:.9rem}.tv-mode .row-label strong,.tv-mode .job-card h3,.tv-mode .attention-card h3{font-size:1.5rem}.tv-footer{position:fixed;right:24px;bottom:18px;display:flex;gap:8px}.tv-footer span{width:38px;height:8px;border-radius:999px;background:#24443b38}.tv-footer span.active{background:#24443b}@media(max-width:1300px){body{min-width:960px}.person-today-row{grid-template-columns:180px repeat(3,minmax(180px,1fr))}.person-today-row .empty-state{grid-column:2 / -1}}
