:root{--bg: #f7f4ef;--surface: #ffffff;--surface-dim: #f0ece5;--border: #d9d3c7;--border-light: #e8e3da;--text: #3b3832;--text-secondary: #6b665d;--text-muted: #9b958a;--slate-900: #2c2926;--slate-800: #3b3832;--slate-700: #5f6b73;--slate-600: #6b665d;--slate-200: #d9d3c7;--slate-100: #e8e3da;--slate-50: #f0ece5;--stone-600: #8a7c63;--stone-500: #9d8e73;--stone-400: #b3a68e;--stone-100: #ede8df;--moss-700: #4a6b5b;--moss-600: #5d7d71;--moss-500: #6d9183;--moss-100: #dde9e3;--gold-600: #8f7538;--gold-500: #a88b4a;--gold-400: #c2a65e;--gold-100: #f0e8d3;--warm-red: #8f6a5a;--warm-red-100: #f0e5e0;--blue-700: #4a6482;--blue-600: #5b7a9a;--blue-100: #dde5ee;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(59, 56, 50, .06);--shadow-md: 0 4px 12px rgba(59, 56, 50, .08);--sidebar-width: 220px;--topbar-height: 56px}*,*:before,*:after{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0}.app-shell{display:flex;height:100dvh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--slate-900);color:#c8c3ba;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sidebar-brand{padding:var(--space-lg) var(--space-md);border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-brand h1{font-size:.85rem;font-weight:600;margin:0;color:#e8e3da;letter-spacing:.01em}.sidebar-brand p{font-size:.7rem;margin:.25rem 0 0;opacity:.5}.sidebar nav{padding:var(--space-sm) 0;flex:1}.sidebar nav a{display:flex;align-items:center;gap:var(--space-sm);padding:.6rem var(--space-md);color:#c8c3ba;text-decoration:none;font-size:.85rem;border-left:3px solid transparent;transition:background .15s,border-color .15s}.sidebar nav a:hover{background:#ffffff0a}.sidebar nav a.active{background:#ffffff0f;border-left-color:var(--moss-500);color:#e8e3da}.sidebar nav .badge{margin-left:auto;background:#ffffff1a;color:#c8c3ba;font-size:.7rem;padding:.1rem .45rem;border-radius:99px;font-weight:500}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);flex-shrink:0}.topbar h2{font-size:1rem;font-weight:600;margin:0}.topbar .date-label{font-size:.8rem;color:var(--text-muted)}.content{flex:1;overflow-y:auto;padding:var(--space-lg)}.page-stack{display:flex;flex-direction:column;gap:var(--space-lg);max-width:1200px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.stat-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-sm)}.stat-card .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 var(--space-xs)}.stat-card .value{font-size:1.5rem;font-weight:600;color:var(--text);margin:0}.stat-card .sub{font-size:.75rem;color:var(--text-secondary);margin:var(--space-xs) 0 0}.stat-card.moss .value{color:var(--moss-700)}.stat-card.stone .value{color:var(--stone-600)}.stat-card.gold .value{color:var(--gold-600)}.stat-card.blue .value{color:var(--blue-700)}.panel{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.panel-header h3{font-size:.9rem;font-weight:600;margin:0}.panel-body{padding:var(--space-md) var(--space-lg)}.panel-body:empty:after{content:"Nothing here right now.";color:var(--text-muted);font-size:.85rem;font-style:italic}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{text-align:left;padding:var(--space-sm) var(--space-md);font-weight:500;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.data-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-light);vertical-align:top}.data-table tbody tr:hover{background:var(--surface-dim)}.data-table a{color:var(--slate-700);text-decoration:none;font-weight:500}.data-table a:hover{color:var(--moss-700)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:var(--space-xs);vertical-align:middle}.status-dot.intake{background:var(--slate-700)}.status-dot.arrangements{background:var(--stone-500)}.status-dot.documents_pending{background:var(--gold-500)}.status-dot.service_scheduled{background:var(--moss-600)}.status-dot.service_complete{background:var(--moss-700)}.status-dot.aftercare{background:var(--blue-600)}.status-dot.closed{background:var(--slate-200)}.status-dot.cancelled{background:var(--warm-red)}.status-dot.pending{background:var(--stone-400)}.status-dot.sent{background:var(--gold-500)}.status-dot.received{background:var(--moss-500)}.status-dot.completed{background:var(--moss-700)}.status-dot.draft{background:var(--slate-200)}.status-dot.issued{background:var(--stone-500)}.status-dot.paid{background:var(--moss-700)}.status-dot.void{background:var(--warm-red)}.badge{display:inline-block;font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:99px;letter-spacing:.01em}.badge.moss{background:var(--moss-100);color:var(--moss-700)}.badge.stone{background:var(--stone-100);color:var(--stone-600)}.badge.gold{background:var(--gold-100);color:var(--gold-600)}.badge.blue{background:var(--blue-100);color:var(--blue-700)}.badge.warm{background:var(--warm-red-100);color:var(--warm-red)}.tag-pill{display:inline-block;font-size:.7rem;padding:.1rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary)}.case-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.case-column{display:flex;flex-direction:column;gap:var(--space-sm)}.case-column-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:var(--space-sm) 0;border-bottom:2px solid var(--border);display:flex;justify-content:space-between}.case-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text);display:block;transition:box-shadow .15s}.case-card:hover{box-shadow:var(--shadow-md)}.case-card .file-number{font-size:.7rem;color:var(--text-muted)}.case-card .deceased-name{font-weight:600;font-size:.85rem;margin:var(--space-xs) 0}.case-card .family-name{font-size:.75rem;color:var(--text-secondary)}.detail-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-lg)}.detail-header{display:flex;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-md)}.detail-header h2{font-size:1.15rem;margin:0}.detail-header .file-number{font-size:.8rem;color:var(--text-muted)}.field-group{margin-bottom:var(--space-lg)}.field-group h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 var(--space-sm)}.field-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-sm)}.field{flex:1}.field label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.field .val{font-size:.85rem}input[type=text],input[type=date],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;padding:.5rem .65rem;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--moss-500)}textarea{resize:vertical;min-height:80px}label.form-label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.form-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.form-row>*{flex:1}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.45rem .85rem;font-size:.8rem;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s,border-color .15s}.btn:hover{background:var(--surface-dim);border-color:var(--slate-200)}.btn-primary{background:var(--moss-600);border-color:var(--moss-600);color:#fff}.btn-primary:hover{background:var(--moss-700);border-color:var(--moss-700)}.btn-sm{padding:.3rem .6rem;font-size:.75rem}.req-list{list-style:none;padding:0;margin:0}.req-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--border-light);font-size:.85rem}.req-item:last-child{border-bottom:none}.req-item .counterparty{color:var(--text-muted);font-size:.75rem;margin-left:auto}.aftercare-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--border-light);font-size:.85rem}.aftercare-item .due{color:var(--text-muted);font-size:.75rem;margin-left:auto}@media print{.sidebar,.topbar,.mobile-nav,.no-print{display:none!important}.main-area{overflow:visible}.content{padding:0;overflow:visible}.panel{border:none;box-shadow:none}}.mobile-nav{display:none}@media(max-width:768px){.sidebar{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--slate-900);z-index:100;justify-content:space-around;padding:var(--space-xs) 0;border-top:1px solid rgba(255,255,255,.06)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:#c8c3ba;text-decoration:none;font-size:.6rem;padding:var(--space-xs) var(--space-sm)}.mobile-nav a.active{color:var(--moss-500)}.content{padding:var(--space-md);padding-bottom:70px}.detail-layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.case-board{grid-template-columns:1fr}}
