:root{color-scheme:light;--ink:#17201d;--muted:#66716c;--paper:#f5f3ed;--panel:#fffefa;--line:#dcd8cc;--accent:#176c59;--accent-dark:#0f5142;--warm:#c66b3d;--danger:#a33f36;--shadow:0 20px 55px rgb(23 32 29/8%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body,html{background:var(--paper)}body{margin:0;color:var(--ink)}a{color:inherit}button,input,select,textarea{font:inherit}button,select{cursor:pointer}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:20;padding:.75rem 1rem;background:var(--ink);color:white}.skip-link:focus{top:1rem}.shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.rail{position:sticky;top:0;height:100vh;padding:2rem 1.25rem;display:flex;flex-direction:column;background:#18231f;color:#eef4ef}.brand{display:flex;gap:.8rem;align-items:center;text-decoration:none;margin-bottom:3rem}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #5d756b;border-radius:12px;color:#9ed5c0;font-size:.78rem;letter-spacing:.08em}.brand small,.brand strong{display:block}.brand small{margin-top:.2rem;color:#99aaa3;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase}.rail nav{display:grid;gap:.35rem}.rail nav a{padding:.75rem .85rem;border-radius:10px;text-decoration:none;color:#cdd7d2}.rail nav a:focus-visible,.rail nav a:hover{background:#24342d;color:white}.signout{margin-top:auto}.text-button{padding:.7rem 0;border:0;background:none;color:#aebbb5}main{min-width:0}.page{width:min(1180px,calc(100% - 4rem));margin:0 auto;padding:4.5rem 0 6rem}.page.narrow{width:min(850px,calc(100% - 4rem))}.page-header{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.empty-state h1,.page-header h1{margin:.15rem 0 .4rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,5vw,4.6rem);font-weight:500;letter-spacing:-.045em;line-height:.98}.page-header p{margin:0;color:var(--muted)}.eyebrow{color:var(--accent)!important;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.button,.danger-button,.secondary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.05rem;border-radius:10px;border:1px solid transparent;text-decoration:none;font-weight:700}.button{background:var(--accent);color:white}.button:focus-visible,.button:hover{background:var(--accent-dark)}.secondary-button{border-color:var(--line);background:var(--panel);color:var(--ink)}.danger-button{border-color:#e7c5c1;background:#fff7f6;color:var(--danger)}:where(a,button):focus-visible{outline:3px solid rgb(23 108 89/28%);outline-offset:3px}button:disabled{cursor:wait;opacity:.62}.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:.8rem;align-items:end;padding:1rem;margin-bottom:1.25rem;border:1px solid var(--line);border-radius:14px;background:rgb(255 254 250/68%)}label{display:grid;gap:.4rem;color:var(--muted);font-size:.82rem;font-weight:650}input,select,textarea{width:100%;min-height:44px;padding:.7rem .75rem;border:1px solid #cbc7bc;border-radius:9px;background:white;color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgb(23 108 89/16%);border-color:var(--accent)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}td,th{padding:1rem;border-bottom:1px solid #ebe8df;text-align:left}th{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}td a{color:var(--accent-dark);font-weight:750}.status{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:#ecebe6;color:#4a514e;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status-active,.status-completed,.status-scheduled{background:#e1f2eb;color:#28614f}.status-cancelled,.status-inactive{background:#f5e7e4;color:#87483f}.status-on_hold{background:#f5edda;color:#775f21}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.work-card{min-height:195px;padding:1.3rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 10px 30px rgb(23 32 29/5%);text-decoration:none;transition:transform .15s ease,border-color .15s ease}.work-card:focus-visible,.work-card:hover{transform:translateY(-2px);border-color:#99b8ad}.work-card h2{margin:.9rem 0 .3rem;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.work-card p,.work-meta{color:var(--muted)}.work-meta{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid #ebe8df;font-size:.82rem}.work-meta strong{color:var(--ink)}.record-form{display:grid;gap:1rem}.empty-card,.form-card{padding:1.4rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 10px 35px rgb(23 32 29/4%)}.empty-card h2,.form-card h2{margin:0 0 1.2rem;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.check,.field-grid .wide{grid-column:1/-1}.check{display:flex;flex-direction:row;align-items:center;gap:.55rem;min-height:44px}.check input{width:18px;min-height:18px}.form-actions{display:flex;gap:.75rem;align-items:center;padding-top:.3rem}.form-error{padding:.8rem 1rem;margin:0;border:1px solid #e1b7b1;border-radius:10px;background:#fff7f6;color:var(--danger)}.empty-card{text-align:center;padding:4rem 1.5rem;color:var(--muted)}.page-more{margin-top:1.25rem}.empty-state{width:min(620px,calc(100% - 3rem));margin:12vh auto;padding:3rem;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.empty-state p,.section-note{color:var(--muted)}.section-note{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.78rem;font-weight:500}.lifecycle-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.lifecycle-layout .form-card{min-width:0}.lifecycle-error{grid-column:1/-1}.action-cluster{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.history-list{max-height:260px;overflow:auto;margin:1.25rem 0 0;padding:0;list-style:none;border-top:1px solid #ebe8df}.history-list li{display:grid;gap:.2rem;padding:.75rem 0;border-bottom:1px solid #ebe8df;font-size:.82rem}.history-list span{color:var(--muted)}.detail-editor{padding-top:1rem;border-top:1px solid var(--line)}.detail-editor>h2{margin-bottom:.25rem;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.detail-editor>p{margin:0 0 1.25rem;color:var(--muted)}.card-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.card-heading .text-button{padding:.35rem .6rem}.calendar-page{width:min(1400px,calc(100% - 3rem))}.calendar-header{align-items:center}.calendar-navigation{display:flex;gap:.5rem;align-items:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.calendar-weekday{padding:.7rem .65rem;border-right:1px solid var(--line);background:#ebe9e1;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.calendar-weekday:nth-child(7){border-right:0}.weekday-short{display:none}.calendar-day{min-width:0;min-height:150px;padding:.45rem;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--panel)}.calendar-day:nth-child(7n+7){border-right:0}.calendar-day-muted{background:#f2f0e9;color:#8b918e}.calendar-day-today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-date{width:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font-size:.78rem;font-weight:800}.calendar-day-today .calendar-date{background:var(--accent);color:white}.calendar-items{display:grid;gap:.3rem;margin-top:.35rem}.calendar-item{width:100%;min-height:0;display:grid;gap:.08rem;padding:.42rem .45rem;overflow:hidden;border:0;border-left:3px solid var(--accent);border-radius:6px;background:#e6f1ec;color:var(--ink);text-align:left;text-decoration:none}.calendar-item small,.calendar-item span{color:var(--muted);font-size:.64rem}.calendar-item strong{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.calendar-item-event{border-left-color:#4978a7;background:#e8f0f8}.calendar-item-blockout{border-left-color:var(--warm);background:#f7eade}.status-edge-cancelled{opacity:.58;text-decoration:line-through}.status-edge-on_hold{border-left-color:#a57f23;background:#f5edda}.calendar-editor{margin-top:1rem}.calendar-editor>.button{width:100%}.finance-entry-grid,.report-grid,.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.invoice-card dl,.summary-grid dl{display:grid;grid-template-columns:max-content 1fr;gap:.45rem 1rem}dt{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}dd{margin:0}.plain-list{display:grid;gap:.55rem;padding:0;list-style:none}.finance-stack,.invoice-grid{display:grid;gap:1rem}.invoice-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.invoice-card{min-width:0}.invoice-card details{margin:1rem 0;padding-top:1rem;border-top:1px solid var(--line)}.invoice-card summary{cursor:pointer;font-weight:750}.payment-form{padding-top:1rem;border-top:1px solid var(--line)}.payment-form,.report-grid{margin-top:1rem}.report-number{margin:.4rem 0;font-family:Georgia,Times New Roman,serif;font-size:3rem}.status-overdue{background:#f5e7e4;color:#87483f}.status-invoiced,.status-paid{background:#e1f2eb;color:#28614f}.access-denied{margin:8vh auto}.import-layout{display:grid;gap:1rem}.import-plan details{margin:1rem 0;padding:1rem 0;border-block:1px solid var(--line)}.import-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.import-counts div{padding:.8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.import-counts dd{margin-top:.3rem;font-family:Georgia,Times New Roman,serif;font-size:1.7rem}.digest{overflow-wrap:anywhere;color:var(--muted);font-size:.78rem}.digest strong{color:var(--ink)}@media (max-width:800px){.shell{display:block}.rail{position:static;width:100%;height:auto;padding:1rem;display:grid;grid-template-columns:1fr auto;align-items:center}.brand{margin:0}.brand small{display:none}.rail nav{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.7rem}.rail nav a{min-width:0;padding-inline:.35rem;text-align:center}.signout{margin:0}.page,.page.narrow{width:min(100% - 2rem,850px);padding:2.5rem 0 4rem}.page-header{align-items:start}.page-header h1{font-size:3rem}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar button{grid-column:1/-1}.finance-entry-grid,.invoice-grid,.lifecycle-layout,.report-grid,.summary-grid,.work-grid{grid-template-columns:1fr}.import-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-page{width:min(100% - 1.25rem,850px)}.calendar-header{display:grid}.calendar-navigation{width:100%}.calendar-navigation .secondary-button{flex:1 1}.calendar-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(105px,1fr))}}@media (max-width:480px){.page-header{display:grid}.page-header .button{width:100%}.field-grid,.filter-bar{grid-template-columns:1fr}.check,.field-grid .wide{grid-column:auto}.form-actions,.work-meta{display:grid}td,th{padding:.8rem}.weekday-wide{display:none}.weekday-short{display:inline}.calendar-grid{grid-template-columns:repeat(7,minmax(76px,1fr))}.calendar-day{min-height:110px;padding:.3rem}.calendar-item{padding:.35rem}.calendar-item strong{max-width:68px}.import-counts{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}@media print{:root{--paper:white;--panel:white;--line:#aaa}.calendar-editor,.calendar-navigation,.filter-bar,.form-actions,.invoice-issue,.payment-form,.print-button,.rail,.skip-link{display:none!important}.shell{display:block}.page.calendar-page{width:100%;padding:0}.calendar-header{margin-bottom:.5rem}.calendar-header h1{font-size:2rem}.calendar-grid{box-shadow:none;page-break-inside:avoid;break-inside:avoid}.calendar-day{min-height:105px}.calendar-item{print-color-adjust:exact;-webkit-print-color-adjust:exact}}