:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#30282b;background:#f6f2f1;font-synthesis:none;--accent: #7c3f58;--accent-dark: #622f45;--ink: #30282b;--muted: #74686d;--line: #e2d9dc;--surface: #ffffff;--soft: #f3e9ed;--success: #246b4d;--danger: #9b2f3f}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f2f1}button,input,textarea,select{font:inherit}button,.button{border:0;border-radius:9px;padding:.72rem 1rem;background:var(--accent);color:#fff;cursor:pointer;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.button:hover{background:var(--accent-dark)}button:disabled{opacity:.55;cursor:not-allowed}.secondary{background:#fff;color:var(--accent);border:1px solid var(--line)}.secondary:hover{background:var(--soft)}.compact{padding:.42rem .7rem;font-size:.84rem}a{color:var(--accent)}h1,h2,p{margin-top:0}h1{font-size:clamp(1.7rem,3vw,2.35rem);margin-bottom:.4rem}h2{font-size:1.2rem}.muted{color:var(--muted)}.eyebrow{color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900;font-size:1.2rem}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(100%,430px);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:2rem;box-shadow:0 18px 50px #432a3414}.auth-card .brand-mark{margin-bottom:1.5rem}.stack{display:grid;gap:1rem}label{display:grid;gap:.4rem;color:#51474b;font-size:.9rem;font-weight:700}input,textarea,select{width:100%;border:1px solid #cfc3c7;border-radius:9px;padding:.72rem .78rem;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:3px solid rgba(124,63,88,.14);border-color:var(--accent)}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:#33272c;color:#fff;padding:1.25rem;display:flex;flex-direction:column;gap:1.8rem}.brand-row{display:flex;align-items:center;gap:.75rem}.brand-row small,.sidebar-footer span{display:block;color:#d5c8cd;font-size:.76rem;margin-top:.15rem}.sidebar nav{display:grid;gap:.35rem}.sidebar nav a{color:#f7eef1;text-decoration:none;border-radius:8px;padding:.68rem .75rem}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff1f}.sidebar-footer{margin-top:auto;display:grid;gap:.75rem}.content{padding:clamp(1.2rem,4vw,3rem);min-width:0}.mobile-header{display:none}.content:focus{outline:none}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.panel,.notice,.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.2rem}.notice{margin-bottom:1.25rem;border-left:4px solid var(--accent)}.notice p:last-child{margin-bottom:0}.notice.danger{border-left-color:var(--danger)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.metric-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.15rem;color:var(--ink);text-decoration:none;min-width:0}.metric-card:hover{border-color:#c7aeb8;box-shadow:0 8px 24px #432a3412}.metric-card span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.metric-card strong{display:block;font-size:clamp(1.35rem,3vw,2rem);margin:.4rem 0 .25rem;overflow-wrap:anywhere}.metric-card small{color:var(--muted)}.compact-metrics .metric-card{padding:.9rem 1rem}.dashboard-grid,.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.dashboard-panel{height:100%}.card span,.details-grid span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.card strong{display:block;font-size:1.35rem;margin:.35rem 0 .7rem}.card p{color:var(--muted);font-size:.88rem;margin-bottom:0;line-height:1.5}.toolbar{display:flex;gap:.65rem;margin-bottom:1rem}.toolbar input{max-width:560px}.table-wrap,.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}td small{display:block;color:var(--muted);margin-top:.25rem}td code{white-space:normal;overflow-wrap:anywhere;font-size:.76rem}.status{display:inline-flex;padding:.25rem .5rem;border-radius:999px;background:#eee8ea;font-size:.78rem;text-transform:capitalize}.status.active,.status.open{color:var(--success);background:#e3f2eb}.status.closed,.status.archived{color:#62585c}.status.cancelled,.status.failed{color:var(--danger);background:#f9e4e7}.status.scheduled,.status.issued{color:#765914;background:#fff4ce}.status.checked_in,.status.partial{color:#75510b;background:#ffedb0}.status.completed,.status.paid,.status.performed{color:var(--success);background:#e3f2eb}.status.low,.status.void{color:var(--danger);background:#f9e4e7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .wide,.details-grid .wide{grid-column:1 / -1}.actions{display:flex;gap:.7rem;align-items:center}.details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-bottom:1rem}.details-grid strong{display:block;margin-top:.3rem;overflow-wrap:anywhere}.panel+.panel{margin-top:1rem}.two-column>.panel+.panel,.dashboard-grid>.panel+.panel{margin-top:0}.feedback{border-radius:8px;padding:.7rem .8rem;margin:0}.feedback.error{color:#7d2231;background:#fbe9ec}.feedback.success{color:#195c40;background:#e5f4ed}.loading,.empty{background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:1.4rem;color:var(--muted)}.loading{display:flex;align-items:center;gap:.7rem}.spinner{width:19px;height:19px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-link{font-weight:700;margin-top:.6rem}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.section-heading h2{margin-bottom:0}.section-heading>span{color:var(--muted);font-size:.85rem}.item-list{display:grid;gap:0}.item-list article{position:relative;display:grid;gap:.25rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.item-list article:first-child{padding-top:0}.item-list article:last-child{border-bottom:0;padding-bottom:0}.item-list article small,.item-list article span{color:var(--muted)}.item-list article .status{position:absolute;top:.65rem;right:0;color:inherit}.row-actions{display:flex;flex-wrap:wrap;gap:.4rem}.ghost{background:transparent;color:var(--danger)}.ghost:hover{background:#f9e4e7}.flush{padding:0;overflow:hidden}.create-panel{margin-bottom:1rem}details>summary{cursor:pointer;font-weight:800;color:var(--accent)}details[open]>summary{margin-bottom:1rem}.compact-form{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.inline-form{display:grid;grid-template-columns:minmax(180px,2fr) 90px 130px auto;gap:.6rem;align-items:end;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.inline-form .feedback{grid-column:1 / -1}.workspace-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start}.workspace-summary{position:sticky;top:1rem}.workspace-summary dl{margin:0 0 1rem}.workspace-summary dt{color:var(--muted);font-size:.76rem;text-transform:uppercase;margin-top:.8rem}.workspace-summary dd{margin:.2rem 0 0;overflow-wrap:anywhere}.workspace-main{min-width:0}.workspace-main>.panel+.panel{margin-top:1rem}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;padding:.8rem 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row .feedback{grid-column:1 / -1}.attention-row{background:#fff8f0}select{cursor:pointer}@media(max-width:760px){.app-shell{display:block;padding-top:64px}.mobile-header{position:fixed;z-index:30;inset:0 0 auto 0;height:64px;padding:.65rem 1rem;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.mobile-header .brand-mark{width:36px;height:36px}.icon-button{padding:.55rem .75rem}.sidebar{display:none;position:fixed;z-index:25;top:64px;right:0;bottom:0;left:0;height:auto;gap:1rem}.sidebar.open{display:flex}.sidebar>.brand-row{display:none}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar nav a{text-align:left;padding:.7rem;font-size:.9rem}.sidebar-footer{margin-top:0;grid-template-columns:1fr auto;align-items:center}.content{padding:1rem}.page-header{align-items:stretch;flex-direction:column}.form-grid,.details-grid,.metric-grid,.dashboard-grid,.two-column,.workspace-grid{grid-template-columns:1fr}.workspace-summary{position:static}.inline-form{grid-template-columns:1fr 1fr}.inline-form select,.inline-form .feedback,.inline-form button{grid-column:1 / -1}.toolbar{align-items:stretch;flex-direction:column}.auth-card{padding:1.4rem}.responsive-table{overflow:visible}.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td{display:block}.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.responsive-table tr{padding:.75rem;border-bottom:1px solid var(--line)}.responsive-table tr:last-child{border-bottom:0}.responsive-table td{display:grid;grid-template-columns:minmax(90px,35%) minmax(0,1fr);gap:.6rem;padding:.42rem 0;border:0;overflow-wrap:anywhere}.responsive-table td:before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}}@media(min-width:761px)and (max-width:1100px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:1.5rem}}
