:root{--green-950: #0a1f18;--green-900: #0d2b21;--green-800: #123a2c;--green-700: #175139;--green-600: #1f6b49;--green-500: #2b8459;--charcoal-900: #14171a;--charcoal-800: #1c2023;--gold-500: #b6924a;--gold-600: #9c7b3a;--gold-100: #f3ead7;--grey-50: #f6f7f6;--grey-100: #eef0ee;--grey-200: #e2e5e2;--grey-300: #cfd3cf;--grey-400: #a9aea9;--grey-500: #7c827c;--grey-600: #5b615c;--grey-700: #3e433f;--ink: #191d1a;--ink-muted: #565c57;--white: #ffffff;--danger: #9c3a2e;--danger-bg: #fbebe8;--warn: #a8791f;--warn-bg: #faf1de;--ok: #1f6b49;--ok-bg: #e9f2ec;--info-bg: #eef1f6;--info: #3a5a8c;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--shadow-sm: 0 1px 2px rgba(15, 23, 18, .06);--shadow-md: 0 2px 8px rgba(15, 23, 18, .08);--shadow-lg: 0 8px 24px rgba(15, 23, 18, .12);--sidebar-w: 268px;--panel-w: 360px;--header-h: 60px;--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--grey-50);color:var(--ink);font-size:13.5px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{height:100%;min-height:100vh}h1,h2,h3,h4,h5{margin:0;font-weight:600;letter-spacing:-.01em;color:var(--ink)}p{margin:0}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:13px}a{color:inherit}::selection{background:var(--gold-100)}*{scrollbar-width:thin;scrollbar-color:var(--grey-300) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-sm);border:1px solid var(--grey-300);background:var(--white);color:var(--ink);font-size:12.5px;font-weight:600;padding:7px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap;line-height:1.2}.btn:hover{background:var(--grey-100);border-color:var(--grey-400)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--green-800);border-color:var(--green-800);color:var(--white)}.btn-primary:hover{background:var(--green-700);border-color:var(--green-700)}.btn-gold{background:var(--gold-500);border-color:var(--gold-500);color:var(--white)}.btn-gold:hover{background:var(--gold-600);border-color:var(--gold-600)}.btn-danger{color:var(--danger);border-color:var(--danger-bg)}.btn-danger:hover{background:var(--danger-bg)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--grey-100)}.btn-sm{padding:4px 9px;font-size:11.5px}.btn-block{width:100%}.btn-icon{padding:6px;width:28px;height:28px}.surface{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2.5px 7px;border-radius:var(--radius-sm);border:1px solid transparent;white-space:nowrap;line-height:1.4}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.badge-low{background:var(--grey-100);color:var(--grey-600)}.badge-normal{background:var(--info-bg);color:var(--info)}.badge-high{background:var(--warn-bg);color:var(--warn)}.badge-critical{background:var(--danger-bg);color:var(--danger)}.badge-status-notstarted{background:var(--grey-100);color:var(--grey-600)}.badge-status-inprogress{background:var(--info-bg);color:var(--info)}.badge-status-awaitingresponse{background:var(--warn-bg);color:var(--warn)}.badge-status-blocked{background:var(--danger-bg);color:var(--danger)}.badge-status-completed{background:var(--ok-bg);color:var(--ok)}.badge-overdue{background:var(--danger-bg);color:var(--danger)}.badge-duetoday{background:var(--warn-bg);color:var(--warn)}.badge-upcoming{background:var(--grey-100);color:var(--grey-600)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:11px;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.field input,.field select,.field textarea{border:1px solid var(--grey-300);border-radius:var(--radius-sm);padding:8px 10px;background:var(--white);color:var(--ink);width:100%;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px #1f6b491f}.field textarea{resize:vertical;min-height:60px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-hint{font-size:11px;color:var(--ink-muted)}.field-error{font-size:11px;color:var(--danger)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr var(--panel-w);min-height:100vh;background:var(--grey-50)}.sidebar{background:linear-gradient(180deg,var(--green-950) 0%,var(--charcoal-900) 100%);color:var(--grey-200);display:flex;flex-direction:column;padding:18px 16px 16px;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:10px;padding:4px 4px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:34px;height:34px;border-radius:var(--radius-sm);background:linear-gradient(145deg,var(--gold-500),var(--gold-600));color:var(--green-950);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;letter-spacing:.02em;flex-shrink:0}.brand-name{font-size:13.5px;font-weight:700;color:var(--white);letter-spacing:-.01em}.brand-sub{font-size:10.5px;color:var(--grey-400);text-transform:uppercase;letter-spacing:.06em}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--grey-300);font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid transparent;background:transparent;text-align:left;width:100%}.nav-item:hover{background:#ffffff0d;color:var(--white)}.nav-item.active{background:#b6924a24;border-color:#b6924a4d;color:var(--gold-100)}.nav-item .count{margin-left:auto;font-size:10.5px;font-weight:700;background:#ffffff14;padding:1px 6px;border-radius:10px;color:var(--grey-200)}.sidebar-section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--grey-500);padding:0 2px}.quick-capture{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:9px}.quick-capture input,.quick-capture select{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--white);border-radius:var(--radius-sm);padding:7px 9px;font-size:12px;outline:none;width:100%}.quick-capture input::placeholder{color:var(--grey-500)}.quick-capture input:focus,.quick-capture select:focus{border-color:var(--gold-500)}.quick-capture label{font-size:10px;color:var(--grey-500);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.quick-capture-presets{display:flex;flex-wrap:wrap;gap:5px}.preset-chip{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--grey-300);border-radius:20px;padding:3px 9px;font-size:10.5px;cursor:pointer;font-weight:600}.preset-chip:hover{border-color:var(--gold-500);color:var(--gold-100)}.preset-chip.active{background:var(--gold-500);border-color:var(--gold-500);color:var(--green-950)}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:var(--grey-500)}.sidebar-user{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--grey-300)}.sidebar-user-avatar{width:26px;height:26px;border-radius:50%;background:var(--green-700);color:var(--gold-100);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0}.main{padding:20px 24px 40px;min-width:0;border-right:1px solid var(--grey-200)}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.workspace-header h1{font-size:19px}.workspace-header .subtitle{font-size:12px;color:var(--ink-muted);margin-top:2px}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric-card{padding:13px 14px;display:flex;flex-direction:column;gap:6px}.metric-value{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.metric-label{font-size:11px;color:var(--ink-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.metric-card.accent-danger .metric-value{color:var(--danger)}.metric-card.accent-warn .metric-value{color:var(--warn)}.metric-card.accent-info .metric-value{color:var(--info)}.metric-card.accent-gold .metric-value{color:var(--gold-600)}.section-block{margin-bottom:16px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-header h2{font-size:13px}.due-soon-panel{padding:12px 14px;display:flex;gap:10px;overflow-x:auto}.due-soon-item{flex:0 0 auto;min-width:200px;border:1px solid var(--grey-200);border-radius:var(--radius-sm);padding:9px 10px;cursor:pointer;background:var(--grey-50)}.due-soon-item:hover{border-color:var(--green-600);background:var(--white)}.due-soon-item .client{font-weight:700;font-size:12.5px;margin-bottom:3px}.due-soon-item .meta{font-size:11px;color:var(--ink-muted)}.due-soon-empty{font-size:12px;color:var(--ink-muted);padding:6px 2px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.search-box{flex:1 1 220px;position:relative}.search-box input{width:100%;padding:8px 10px 8px 30px;border:1px solid var(--grey-300);border-radius:var(--radius-sm);background:var(--white);outline:none}.search-box input:focus{border-color:var(--green-600);box-shadow:0 0 0 3px #1f6b491a}.search-box .icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--grey-500);font-size:13px}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pill{border:1px solid var(--grey-300);background:var(--white);color:var(--ink-muted);border-radius:var(--radius-sm);padding:6px 10px;font-size:11.5px;font-weight:600;cursor:pointer}.filter-pill:hover{border-color:var(--green-600)}.filter-pill.active{background:var(--green-800);border-color:var(--green-800);color:var(--white)}.sort-select select{border:1px solid var(--grey-300);border-radius:var(--radius-sm);padding:7px 9px;background:var(--white);font-size:12px;font-weight:600;color:var(--ink)}.table-wrap{overflow-x:auto}table.matter-table{width:100%;border-collapse:collapse;font-size:12.5px}.matter-table thead th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:700;padding:9px 10px;border-bottom:1px solid var(--grey-200);white-space:nowrap;background:var(--grey-50);position:sticky;top:0}.matter-table tbody td{padding:10px;border-bottom:1px solid var(--grey-100);vertical-align:top}.matter-table tbody tr{cursor:pointer}.matter-table tbody tr:hover{background:var(--grey-50)}.matter-table tbody tr.selected{background:var(--ok-bg)}.matter-table tbody tr.row-overdue td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.matter-table tbody tr.row-completed{opacity:.55}.cell-client{font-weight:700;color:var(--ink)}.cell-firm{font-size:11.5px;color:var(--ink-muted)}.cell-due{white-space:nowrap}.cell-due .countdown{font-size:11px;font-weight:700}.cell-due .datestr{font-size:11px;color:var(--ink-muted)}.pin-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--grey-400);padding:2px}.pin-btn.pinned{color:var(--gold-500)}.row-actions{display:flex;gap:4px}.empty-state{padding:40px 20px;text-align:center;color:var(--ink-muted);font-size:13px}.right-panel{padding:20px 18px 40px;overflow-y:auto;height:100vh;position:sticky;top:0}.panel-block{margin-bottom:16px;padding:14px}.panel-block h3{font-size:12.5px;margin-bottom:12px}.panel-empty{color:var(--ink-muted);font-size:12.5px;padding:10px 2px}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.preview-header .client{font-size:15px;font-weight:700}.preview-header .firm{font-size:12px;color:var(--ink-muted);margin-top:1px}.countdown-box{background:var(--green-950);color:var(--white);border-radius:var(--radius-md);padding:14px;text-align:center;margin-bottom:12px}.countdown-box .label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-400);margin-bottom:4px}.countdown-box .value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em}.countdown-box.overdue{background:var(--danger)}.countdown-box.due-today{background:var(--gold-600)}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:12px}.meta-item .k{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:700;margin-bottom:2px}.meta-item .v{font-size:12.5px;color:var(--ink)}.meta-item.span-2{grid-column:span 2}.panel-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.activity-form{display:flex;gap:6px;margin-bottom:10px}.activity-form textarea{flex:1;min-height:40px;border:1px solid var(--grey-300);border-radius:var(--radius-sm);padding:7px 9px;resize:vertical}.activity-timeline{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow-y:auto}.activity-entry{padding-left:12px;border-left:2px solid var(--grey-200);position:relative}.activity-entry:before{content:"";position:absolute;left:-4.5px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--green-600)}.activity-entry .note{font-size:12px;color:var(--ink)}.activity-entry .time{font-size:10.5px;color:var(--ink-muted);margin-top:2px}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--green-950) 0%,var(--charcoal-900) 55%,var(--charcoal-900) 100%);padding:20px}.auth-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:100%;max-width:380px;padding:30px 28px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.auth-title{font-size:17px;margin-bottom:4px}.auth-subtitle{font-size:12.5px;color:var(--ink-muted);margin-bottom:20px}.auth-switch{text-align:center;font-size:12.5px;color:var(--ink-muted);margin-top:14px}.auth-switch button{background:none;border:none;color:var(--green-700);font-weight:700;cursor:pointer;padding:0;font-size:12.5px}.auth-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;margin-bottom:14px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}.calendar-nav{display:flex;align-items:center;gap:6px}.calendar-title{font-size:15px;font-weight:700;min-width:190px}.view-switch{display:flex;border:1px solid var(--grey-300);border-radius:var(--radius-sm);overflow:hidden}.view-switch button{border:none;background:var(--white);padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink-muted);border-right:1px solid var(--grey-300)}.view-switch button:last-child{border-right:none}.view-switch button.active{background:var(--green-800);color:var(--white)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--grey-200);border:1px solid var(--grey-200);border-radius:var(--radius-md);overflow:hidden}.month-grid .weekday-head{background:var(--grey-50);padding:7px 8px;font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--ink-muted);letter-spacing:.04em}.month-cell{background:var(--white);min-height:96px;padding:6px;display:flex;flex-direction:column;gap:3px}.month-cell.other-month{background:var(--grey-50)}.month-cell.today .date-num{background:var(--gold-500);color:var(--white);border-radius:50%}.month-cell .date-num{font-size:11px;font-weight:700;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--ink-muted)}.cal-entry{background:var(--grey-100);border-left:3px solid var(--green-600);border-radius:2px;padding:2px 5px;font-size:10px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-entry.priority-critical{border-left-color:var(--danger)}.cal-entry.priority-high{border-left-color:var(--warn)}.cal-entry.priority-low{border-left-color:var(--grey-400)}.cal-entry .t{font-weight:700;color:var(--ink-muted);margin-right:3px}.cal-more{font-size:10px;color:var(--ink-muted);padding:1px 5px;cursor:pointer}.week-grid{display:grid;grid-template-columns:56px repeat(7,1fr);border:1px solid var(--grey-200);border-radius:var(--radius-md);overflow:hidden;background:var(--white)}.week-head-cell{padding:8px 6px;text-align:center;border-bottom:1px solid var(--grey-200);border-left:1px solid var(--grey-100);background:var(--grey-50)}.week-head-cell .dow{font-size:10px;text-transform:uppercase;color:var(--ink-muted);font-weight:700}.week-head-cell .num{font-size:13px;font-weight:700}.week-head-cell.today .num{color:var(--gold-600)}.hour-label{font-size:10px;color:var(--ink-muted);padding:4px 6px;border-top:1px solid var(--grey-100);text-align:right}.hour-cell{border-top:1px solid var(--grey-100);border-left:1px solid var(--grey-100);min-height:34px;padding:2px;position:relative}.day-view{border:1px solid var(--grey-200);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.day-row{display:grid;grid-template-columns:70px 1fr;border-top:1px solid var(--grey-100)}.day-row .hour-label{border-top:none}.day-row .hour-cell{border-left:none;border-top:none;min-height:44px}.unscheduled-note{font-size:11px;color:var(--ink-muted);padding:8px 0}.flex{display:flex}.gap-6{gap:6px}.gap-8{gap:8px}.muted{color:var(--ink-muted)}.mt-8{margin-top:8px}.mb-8{margin-bottom:8px}.text-sm{font-size:12px}.divider{height:1px;background:var(--grey-200);margin:12px 0}@media (max-width: 1180px){.app-shell{grid-template-columns:232px 1fr}.right-panel{grid-column:1 / -1;position:static;height:auto;border-top:1px solid var(--grey-200)}.metrics-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:column}.main{border-right:none;padding:16px}.right-panel{padding:16px}.metrics-row{grid-template-columns:repeat(2,1fr)}.field-row{grid-template-columns:1fr}.month-cell{min-height:70px}.workspace-header h1{font-size:16.5px}}.mobile-nav-toggle{display:none}@media (max-width: 860px){.mobile-nav-toggle{display:inline-flex}}
