:root{--bg:#f6f3ed;--surface:#fffefa;--surface2:#f7f2e9;--surface3:#eee7dc;--text:#30291f;--muted:#6d6255;--border:#e6ded2;--gold:#a57f43;--gold-strong:#775626;--gold-soft:#f2e8d7;--side:#29251f;--side2:#393227;--shadow:0 10px 36px rgba(67,47,25,.065);--danger:#ad3c37;--warn:#96651f;--ok:#246e55;--info:#356276;--radius:16px}
html[data-scheme=dark]{--bg:#181714;--surface:#24221e;--surface2:#2c2923;--surface3:#353128;--text:#f3eee5;--muted:#baaf9e;--border:#474139;--gold:#d5b37e;--gold-strong:#e6c28c;--gold-soft:#3c3227;--side:#12120f;--side2:#29251f;--shadow:0 12px 30px rgba(0,0,0,.18);--danger:#f29b95;--warn:#e7b267;--ok:#7bcca6;--info:#82c0d0}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.47;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{color:var(--text)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.app-shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100dvh;transition:grid-template-columns .2s}.sidebar{position:sticky;top:0;height:100dvh;background:var(--side);color:#f8f3eb;padding:18px 13px 12px;display:flex;flex-direction:column;overflow:hidden;z-index:65}.side-brand{display:flex;align-items:center;gap:10px;padding:8px 8px 12px}.side-brand img{object-fit:contain;filter:brightness(1.1);flex:0 0 auto}.brand-caption{min-width:0}.brand-caption strong{display:block;font-size:13px;white-space:nowrap;letter-spacing:.08em;font-weight:600}.brand-caption small{display:block;font-size:9px;letter-spacing:.2em;color:#d5b37e;margin-top:5px}.side-badge{display:flex;gap:8px;align-items:center;font-size:11px;padding:9px 10px;border:1px solid #5b5142;border-radius:12px;color:#e1caa1;background:#393327;margin:4px 6px 12px}.pulse{width:8px;height:8px;background:#d8b67e;border-radius:50%;box-shadow:0 0 0 3px #a57f4333}.side-title{color:#a9a092;font-size:10px;letter-spacing:.16em;font-weight:700;margin:12px 13px 7px}.side-title-small{padding-top:8px;border-top:1px solid #514536}#nav{overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#5a5348 transparent;display:flex;flex-direction:column;gap:3px}.nav-button,.collapse-btn{border:0;color:#e4ddd0;background:transparent;display:flex;align-items:center;gap:11px;border-radius:10px;text-align:left;padding:10px 11px;width:100%;font-size:13px}.nav-button:hover,.collapse-btn:hover{background:#ffffff11}.nav-button.active{background:#e4d1b31d;color:#f5dfbd;box-shadow:inset 3px 0 0 #c4a373}.nav-icon{font-size:18px;line-height:1;width:22px;text-align:center;flex:0 0 auto}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-bottom{border-top:1px solid #554b3a;padding-top:9px}.profile-box{display:flex;gap:8px;align-items:center;background:#ffffff09;border:1px solid #ffffff16;padding:8px;border-radius:12px;margin-top:8px}.profile-avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:#b38f5a;color:#21180d;font-weight:700;flex:none}.profile-info{min-width:0}.profile-info strong,.profile-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-info strong{font-size:11px}.profile-info small{font-size:10px;color:#c4b5a1}.side-foot{font-size:10px;color:#a99f93;margin:11px 6px 0}.app-body{min-width:0}.topbar{height:68px;display:flex;gap:14px;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 22px;position:sticky;top:0;z-index:30}.breadcrumb{white-space:nowrap;display:flex;gap:10px;align-items:center}.breadcrumb>span{color:var(--muted);font-size:12px}.breadcrumb strong{font-size:16px}.sep{opacity:.4}.top-left,.top-actions{display:flex;gap:10px;align-items:center;min-width:0}.top-actions{justify-content:flex-end}.search-open,.icon-button,.outline-link,#role-picker{height:39px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);text-decoration:none}.search-open{display:flex;gap:9px;align-items:center;padding:0 12px;min-width:285px;justify-content:space-between;color:var(--muted)}.search-open>span:first-child{font-size:22px}.search-open kbd{font:10px ui-monospace,monospace;border:1px solid var(--border);border-radius:5px;padding:3px 5px;background:var(--surface2)}.icon-button{display:grid;place-items:center;width:39px;flex:none;font-size:21px}.outline-link{padding:9px 12px;white-space:nowrap}.top-actions select{max-width:190px;padding:0 10px;cursor:pointer}.safety-notice{padding:9px 22px;display:flex;gap:12px;justify-content:space-between;background:var(--gold-soft);color:var(--text);font-size:11px;border-bottom:1px solid var(--border)}.safety-notice>span:last-child{white-space:nowrap}.main-content{max-width:1550px;padding:23px 24px 52px;margin:0 auto;outline:0}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 18px}.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--gold-strong);font-weight:750;text-transform:uppercase;margin:0 0 7px}.heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,3vw,36px);font-weight:400;letter-spacing:-.025em;margin:0;line-height:1.14}.heading p:last-child{margin:8px 0 0;color:var(--muted);font-size:13px;max-width:680px}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:650;white-space:normal;text-decoration:none}.btn.primary{background:var(--side);border-color:var(--side);color:#fff}.btn.gold{background:var(--gold-strong);border-color:var(--gold-strong);color:#fff}.btn.ghost{background:transparent}.btn.small{min-height:34px;padding:6px 10px;font-size:12px}.btn.danger{background:#b2433c12;color:var(--danger);border-color:#b2433c35}.btn:hover:not(:disabled){filter:brightness(.96)}html[data-scheme=dark] .btn.primary{background:#d4b581;border-color:#d4b581;color:#1e1914}.mini-label{font-size:10px;letter-spacing:.09em;color:var(--muted);text-transform:uppercase}.dashboard-hero{background:linear-gradient(120deg,#30291f,#4a3b2a);color:#fff;border:1px solid #65543b;border-radius:20px;display:grid;grid-template-columns:1fr auto;gap:14px;padding:25px;margin-bottom:15px;position:relative;overflow:hidden}.dashboard-hero:after{content:'PA';position:absolute;right:15%;top:-85px;font-family:Georgia,serif;font-size:240px;opacity:.04;pointer-events:none}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero h2{font-family:Georgia,serif;font-size:clamp(24px,3vw,36px);font-weight:400;line-height:1.12;margin:0 0 8px}.dashboard-hero p{max-width:640px;color:#e0d6c5;margin:0}.dashboard-hero .hero-actions{align-self:center;display:flex;gap:8px;flex-wrap:wrap}.dashboard-hero .btn{background:#e6cda8;color:#292116;border-color:#e6cda8}.dashboard-hero .btn.ghost{background:#ffffff10;color:#fff;border-color:#ffffff38}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.stat{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:17px;border-radius:var(--radius)}.stat .mini-label{display:block}.stat strong{font-size:34px;font-weight:600;letter-spacing:-.045em;display:block;margin:8px 0 3px;line-height:1}.stat small{color:var(--muted);font-size:11px}.grid{display:grid;gap:14px}.cols-2{grid-template-columns:minmax(0,1.32fr) minmax(0,1fr)}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-pad{padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.panel-head h3{font-size:15px;margin:0}.panel-head button{font-size:12px}.muted{color:var(--muted)}.panel-note{font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding:10px 16px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px}.quick-grid .quick{border:1px solid var(--border);background:var(--surface2);padding:14px 11px;text-align:left;border-radius:11px;min-height:70px;color:var(--text);font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:7px}.quick:hover{border-color:var(--gold)}.quick span{color:var(--gold-strong)}.toolbar{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:0 0 13px}.toolbar-inner{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.input,.select,.text-area{padding:10px 11px;border:1px solid var(--border);background:var(--surface);border-radius:10px;min-height:41px;width:100%;outline-color:var(--gold)}.input.short{max-width:240px}.select.auto{width:auto;min-width:150px}.table-wrap{overflow:auto;border-radius:0 0 var(--radius) var(--radius)}table{border-collapse:collapse;width:100%;min-width:630px;text-align:left}th,td{padding:12px 13px;vertical-align:middle;border-bottom:1px solid var(--border);font-size:12px}th{font-size:10px;letter-spacing:.07em;color:var(--muted);font-weight:750;text-transform:uppercase;background:var(--surface2)}tbody tr:hover{background:color-mix(in srgb,var(--gold-soft) 30%,var(--surface))}tbody tr:last-child td{border-bottom:0}.person-name{font-weight:690;font-size:13px}.status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;white-space:nowrap}.status.confirmed,.status.done,.status.paid{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,var(--surface))}.status.requested,.status.pending{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--surface))}.status.cancelled,.status.late{color:var(--danger);background:color-mix(in srgb,var(--danger) 11%,var(--surface))}.status.completed{color:var(--info);background:color-mix(in srgb,var(--info) 11%,var(--surface))}.link-button{background:none;border:0;padding:4px;color:var(--gold-strong);font-weight:750;font-size:12px}.link-button:hover{text-decoration:underline}.empty{padding:36px 16px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);font-size:16px;margin-bottom:6px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.week-label{font-size:10px;background:var(--surface2);text-align:center;padding:9px 2px;color:var(--muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.month-cell{position:relative;background:var(--surface);border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:103px;padding:8px;text-align:left;color:var(--text);overflow:hidden}.month-cell:hover{background:var(--surface2)}.month-cell.other{opacity:.4}.month-cell.today .cell-day{color:#fff;background:var(--gold-strong)}.month-cell.selected{box-shadow:inset 0 0 0 2px var(--gold)}.cell-day{display:inline-grid;width:27px;height:27px;place-items:center;border-radius:8px;font-weight:750}.event-pill{display:block;background:var(--gold-soft);border-left:3px solid var(--gold);color:var(--text);border-radius:4px;margin:3px 0 0;padding:3px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-pill.cancelled{border-color:var(--danger);opacity:.55}.day-timeline{display:grid;gap:9px}.timeline-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start}.timeline-time{font-size:12px;font-weight:750;color:var(--muted);padding-top:12px}.timeline-event{border:1px solid var(--border);padding:11px 14px;border-radius:11px;background:var(--surface);display:flex;justify-content:space-between;gap:15px;align-items:center;text-align:left;color:var(--text)}.timeline-event:hover{border-color:var(--gold)}.timeline-event b,.timeline-event small{display:block}.timeline-event small{color:var(--muted);margin-top:4px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{border:1px solid var(--border);border-radius:11px;padding:11px;background:var(--surface);min-height:160px}.week-day h4{margin:0 0 10px;font-size:12px}.week-day>button{display:block;width:100%;border:1px solid var(--border);margin:5px 0;padding:8px 6px;text-align:left;background:var(--surface2);color:var(--text);border-radius:7px;font-size:10px;overflow-wrap:anywhere}.week-day>button:hover{border-color:var(--gold)}.card-list{display:grid;gap:9px;padding:14px}.card-row{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:flex;gap:12px;align-items:center;justify-content:space-between}.card-row-info{min-width:0}.card-row-info b,.card-row-info small{display:block}.card-row-info b{font-size:13px}.card-row-info small{color:var(--muted);margin-top:4px;font-size:11px}.progress{height:7px;border-radius:99px;background:var(--surface3);overflow:hidden;margin-top:9px}.progress i{display:block;background:var(--gold);height:100%;border-radius:99px}.module-tip{margin:14px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface2);padding:13px 16px;color:var(--muted);font-size:12px}.compact-tasks{display:grid;gap:9px}.task-row{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.task-row input{margin-top:4px;accent-color:var(--gold-strong);height:16px;width:16px}.task-row b{display:block}.task-row.is-done b{text-decoration:line-through;color:var(--muted)}.task-row small{color:var(--muted);font-size:11px;display:block;margin-top:4px}.task-row .row-action{margin-left:auto}.toolbar .segment{display:flex;gap:2px;border:1px solid var(--border);border-radius:11px;padding:3px;background:var(--surface)}.segment button{border:0;border-radius:8px;background:none;color:var(--muted);padding:7px 10px;font-size:12px}.segment button.active{background:var(--gold-soft);color:var(--gold-strong);font-weight:750}.hrow{display:grid;grid-template-columns:110px 1fr 1fr 80px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.hrow label{font-weight:650}.hrow label input{accent-color:var(--gold-strong);margin-right:8px}.hrow input[type=time]{padding:8px 5px;min-width:0}.hrow small{text-align:right}.setting-list{display:grid;gap:3px}.setting-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.setting-line:last-child{border:0}.setting-line small{display:block;color:var(--muted);margin-top:3px}.palette{display:flex;gap:12px;margin:15px 0}.palette div{width:55px;height:55px;border-radius:10px;border:1px solid var(--border)}.activity-list{padding:0;margin:0;list-style:none}.activity-list li{border-bottom:1px solid var(--border);padding:11px 0;display:flex;align-items:start;justify-content:space-between;gap:12px}.activity-list li:last-child{border:0}.activity-list li small{display:block;color:var(--muted);margin-top:3px}.activity-list time{font-size:11px;color:var(--muted);white-space:nowrap}.bar-chart{height:190px;display:flex;align-items:end;gap:11px;padding:20px 12px 8px}.chart-col{flex:1;text-align:center;display:grid;gap:7px;align-items:end}.chart-col i{background:linear-gradient(#c7a977,#7b5b30);border-radius:7px 7px 0 0;min-height:3px;display:block}.chart-col small{color:var(--muted);font-size:11px}.download-link{font-size:12px;text-decoration:none;color:var(--gold-strong)}.download-link:hover{text-decoration:underline}
dialog{border:0;padding:0;background:transparent;color:var(--text)}dialog::backdrop{background:rgba(20,15,8,.58);backdrop-filter:blur(3px)}.editor-dialog{width:min(650px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:18px;box-shadow:0 25px 90px rgba(0,0,0,.26);overflow:hidden}.dialog-layout{background:var(--surface);display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}.dialog-heading{padding:19px 21px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--border)}.dialog-heading span{font-size:10px;color:var(--gold-strong);letter-spacing:.13em}.dialog-heading h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:4px 0}.fields{padding:18px 21px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{min-width:0;display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field .hint{font-size:11px;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface2);border-radius:10px;padding:10px 11px;min-height:42px;min-width:0;color:var(--text)}.field textarea{min-height:95px;resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:15px 21px;border-top:1px solid var(--border)}.search-dialog{width:min(620px,calc(100vw - 20px));border-radius:16px;overflow:hidden;position:fixed;top:6vh;margin:0 auto;box-shadow:0 25px 90px rgba(0,0,0,.25)}.search-modal{background:var(--surface)}.search-input-row{display:flex;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid var(--border)}.search-input-row>span{font-size:24px;color:var(--muted)}.search-input-row input{border:0;background:transparent;flex:1;min-width:0;outline:none;color:var(--text);font-size:15px}.search-results{max-height:53vh;overflow:auto;padding:8px}.result-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:9px;padding:11px;border:0;background:transparent;border-radius:9px;color:var(--text);text-align:left}.result-item:hover{background:var(--surface2)}.result-item small{color:var(--muted)}.search-footer{border-top:1px solid var(--border);padding:10px 15px;font-size:11px;color:var(--muted)}.toast{position:fixed;bottom:22px;right:22px;max-width:min(390px,calc(100vw - 24px));background:var(--side);color:#fff;padding:13px 15px;border-radius:12px;box-shadow:0 15px 45px #0005;z-index:100;opacity:0;transform:translateY(20px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:none}.mobile-only{display:none}.scrim{display:none}.compact .app-shell{grid-template-columns:80px minmax(0,1fr)}.compact .sidebar{padding-left:7px;padding-right:7px}.compact .brand-caption,.compact .side-badge,.compact .side-title,.compact .side-bottom .profile-info,.compact .side-foot,.compact .collapse-btn .nav-label,.compact .nav-label{display:none}.compact .side-brand{justify-content:center;padding:10px 0}.compact .side-brand img{width:52px}.compact .nav-button{justify-content:center}.compact .profile-box{justify-content:center}.compact .nav-icon{font-size:20px}
@media(max-width:1200px){.top-actions .search-open{min-width:0}.search-label{display:none}.cols-2{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.safety-notice>span:last-child{display:none}}
@media(max-width:950px){.app-shell,.compact .app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;width:260px;transform:translateX(-105%);transition:.2s;box-shadow:18px 0 55px #0004}.sidebar.is-open{transform:none}.scrim:not([hidden]){display:block;position:fixed;inset:0;background:#0007;z-index:55;border:0}.mobile-only{display:grid}.compact .brand-caption,.compact .side-badge,.compact .side-title,.compact .side-bottom .profile-info,.compact .side-foot,.compact .collapse-btn .nav-label,.compact .nav-label{display:initial}.compact .nav-button{justify-content:start}.compact .side-brand{justify-content:start}.topbar{padding:0 14px}.main-content{padding:18px 14px}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.topbar{height:61px}.top-actions{gap:6px}.top-actions .search-open{min-width:39px;padding:0;display:grid;place-items:center}.top-actions .search-open kbd{display:none}.top-actions select{max-width:106px;font-size:10px}.top-actions .outline-link{display:none}.breadcrumb>span,.breadcrumb .sep{display:none}.breadcrumb strong{font-size:14px}.safety-notice{padding:9px 12px;line-height:1.4}.heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.heading-actions .btn{flex:1}.dashboard-hero{grid-template-columns:1fr;padding:20px}.dashboard-hero .hero-actions{justify-content:start}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:13px}.stat strong{font-size:29px}.main-content{padding:15px 11px 40px}.quick-grid{grid-template-columns:1fr 1fr}.panel-pad{padding:13px}.month-cell{min-height:67px;padding:3px}.cell-day{width:22px;height:22px;font-size:11px}.event-pill{font-size:8px;max-width:100%;padding:2px 1px;border-left-width:2px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.hrow{grid-template-columns:1fr 1fr}.hrow label{grid-column:1/-1}.hrow small{grid-column:1/-1;text-align:left}.toolbar-inner{width:100%}.toolbar-inner .input{max-width:none}.toolbar .segment{width:100%;justify-content:space-around}.month-grid .week-label{font-size:9px}.card-row{align-items:flex-start;flex-direction:column}.dialog-heading,.dialog-actions{padding:14px 16px}.fields{padding:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
