/*
  Copyright (c) 2026 Destrier Legal. All rights reserved.
  This software is proprietary and confidential.
  Unauthorized copying, modification, distribution, or use of this software is strictly prohibited.
  See LICENSE file for terms and conditions.
*/

:root{--ink:#16222b;--muted:#66727e;--line:#d8e0e5;--soft:#f3f6f7;--panel:#fff;--accent:#126c62;--accent-dark:#0d514a;--accent-soft:#e2efec;--gold:#b88a3b;--danger:#a43f3f;--shadow:0 8px 30px rgba(31,45,55,.08)}
*{box-sizing:border-box}html{background:var(--soft)}body{margin:0;color:var(--ink);background:var(--soft);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}.topbar{position:sticky;z-index:20;top:0;height:64px;padding:8px 20px calc(8px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);font-size:18px;font-weight:750}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:600;text-align:left}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:22px}.top-actions{display:flex;gap:8px}.timer-button,.icon-button{min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:8px 12px}.timer-button{display:flex;align-items:center;gap:8px}.timer-button.running{border-color:var(--accent);color:var(--accent);font-variant-numeric:tabular-nums}.timer-button span:first-child{width:8px;height:8px;border-radius:50%;background:#96a0a8}.timer-button.running span:first-child{background:#d94d4d}.icon-button{width:40px;font-size:24px;line-height:1}.app-shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 64px)}.sidebar{position:sticky;top:64px;height:calc(100vh - 64px);padding:20px 12px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;border-right:1px solid var(--line)}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:#44515c;text-align:left}.nav-item span{width:22px;text-align:center;font-size:18px}.nav-item.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:700}.storage-label{margin:0 8px;color:var(--muted);font-size:11px}.status-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#3c9b73}main{min-width:0;padding:28px 32px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 auto 22px;max-width:1180px}.page-head h1{margin:3px 0 0;font-size:26px}.eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:800;text-transform:uppercase}.page-actions{display:flex;gap:8px}.primary,.secondary,.page-actions button,.table-actions button{min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.primary{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important}.primary:hover{background:var(--accent-dark)!important}.dashboard,.view-body{max-width:1180px;margin:auto}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.metric{padding:17px 18px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;margin-top:5px;font-size:24px}.metric small{color:var(--accent);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin-top:18px}.section{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.section-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.section-head h2{margin:0;font-size:16px}.section-head button{border:0;background:transparent;color:var(--accent);font-weight:700}.activity-list,.matter-list{display:grid}.activity,.matter-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid #edf1f3}.matter-list .matter-row{width:100%;border:0;border-bottom:1px solid #edf1f3;background:#fff;text-align:left}.activity:last-child,.matter-row:last-child{border:0}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dfeae8;color:var(--accent-dark);font-weight:800}.activity strong,.matter-row strong{display:block}.activity small,.matter-row small{color:var(--muted)}.amount{font-weight:750;font-variant-numeric:tabular-nums}.empty{padding:35px 20px;color:var(--muted);text-align:center}.search-row{display:flex;gap:10px;margin-bottom:14px}.search-row input{flex:1;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}.data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:11px 14px;background:#f7f9fa;color:var(--muted);font-size:11px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{padding:13px 14px;border-top:1px solid var(--line);vertical-align:middle}.data-table tr[data-id],.data-table tr[data-workspace-matter]{cursor:pointer}.data-table tr[data-id]:hover,.data-table tr[data-workspace-matter]:hover{background:#f8fbfa}.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:11px;font-weight:700}.pill.closed{background:#eef0f2;color:#68727a}.folder-tree{padding:5px 0}.folder{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #edf1f3}.folder span:first-child{color:var(--gold)}.folder small{margin-left:auto;color:var(--muted)}.mobile-nav{display:none}dialog{width:min(720px,calc(100% - 28px));max-height:88vh;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(18,30,38,.48)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:3px 0 0;font-size:21px}.close-button{width:36px;height:36px;border:0;background:transparent;font-size:26px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;overflow:auto}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-weight:400}.form-grid textarea{min-height:86px;resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}.dialog-actions button{min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fff}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px}.quick-grid button{padding:18px;border:1px solid var(--line);border-radius:7px;background:#fff;text-align:left}.quick-grid strong,.quick-grid span{display:block}.quick-grid span{margin-top:5px;color:var(--muted);font-size:12px}.data-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.data-card{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.data-card h2{font-size:16px}.data-card p{min-height:42px;color:var(--muted);line-height:1.45}.data-card button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}.danger{color:var(--danger)!important}#toast{position:fixed;z-index:100;right:20px;bottom:20px;max-width:340px;padding:11px 14px;border-radius:6px;background:#16222b;color:#fff;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}
.calendar-date{display:grid;place-items:center;width:42px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.calendar-date strong{width:100%;padding:2px;background:var(--accent);color:#fff;font-size:9px;text-align:center;text-transform:uppercase}.calendar-date span{padding:3px;font-size:17px;font-weight:800}.calendar-add{min-height:34px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--accent);font-weight:700}.calendar-note{color:var(--muted);font-size:12px;line-height:1.5}
.quick-time{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:18px;border:1px solid #9fc8c1;border-radius:8px;background:var(--accent-soft)}.quick-time h2{margin:3px 0 4px;font-size:18px}.quick-time p{margin:0;color:var(--muted)}.quick-time button{min-height:48px;padding:10px 18px;border:1px solid var(--accent);border-radius:6px}.stop-timer{background:#fff;color:var(--danger);border-color:#c87878!important;font-weight:800}.table-actions{display:flex;justify-content:flex-end;margin:0 0 10px}.timer-fields{display:grid;gap:16px;padding:20px}.timer-fields label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.timer-fields select,.timer-fields input{width:100%;min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:16px}
.more-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.more-menu button{display:grid;grid-template-columns:38px 1fr;gap:2px 10px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.more-menu button>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:20px}.more-menu strong{font-size:15px}.more-menu small{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.tag{display:inline-block;padding:2px 6px;border-radius:4px;background:#edf2f5;color:#52616d;font-size:10px;font-weight:700}
.matter-note-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin:0 20px 18px;padding:14px;border:1px solid #b8cdc8;border-radius:7px;background:#f2f8f6}.matter-note-tools strong,.matter-note-tools small{display:block}.matter-note-tools small{margin-top:3px;color:var(--muted)}.matter-note-tools button{min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.matter-note-tools button:first-of-type{border-color:var(--accent);color:var(--accent);font-weight:750}
.client-folder{background:#f8fafb}.matter-folder{padding-left:42px}.custom-folder{padding-left:72px}.matter-folder button{margin-left:auto;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--accent);font-weight:700}
.home-actions{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;margin-bottom:16px}.home-actions form{display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(180px,1.3fr) 90px auto;gap:10px;align-items:end;padding:15px;border:1px solid #9fc8c1;border-radius:8px;background:var(--accent-soft)}.home-actions form h2{margin:3px 0 0;font-size:17px}.home-actions label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.home-actions select,.home-actions input{width:100%;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.home-actions form button{min-height:42px;padding:8px 13px;border:0;border-radius:6px}.calendar-quick{display:grid;grid-template-columns:38px 1fr;gap:2px 9px;align-content:center;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.calendar-quick>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:20px}.calendar-quick strong,.calendar-quick small{display:block}.calendar-quick small{color:var(--muted)}
.home-section{margin-top:16px}.home-contact-search{padding:12px 14px;border-bottom:1px solid var(--line)}.home-contact-search input{width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:6px;background:#fff}.home-contact-list{max-height:310px;overflow:auto}
.status-dot.offline{background:#c3a35a}
.sync-banner{margin-bottom:16px}
.sync-banner form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.sync-banner label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}
.sync-banner input{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:6px}
.matter-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:16px;margin-bottom:16px;padding:18px;border:1px solid #9fc8c1;border-radius:8px;background:var(--accent-soft)}
.matter-hero h2{margin:4px 0 8px;font-size:28px}
.matter-hero p{margin:0 0 6px;color:var(--muted)}
.matter-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.matter-metrics div,.synced-counts div{padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}
.matter-metrics span,.synced-counts span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}
.matter-metrics strong,.synced-counts strong{display:block;margin-top:4px;font-size:22px}
.synced-counts{margin:0 0 16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.matter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.matter-actions button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}
.matter-section{margin-bottom:14px}
.matter-workspace .data-table-wrap{border-radius:0;border:0}
.data-table tr[data-workspace-matter]{cursor:pointer}
.import-progress{margin-top:14px;padding:12px;border:1px solid #9fc8c1;border-radius:7px;background:#f2f8f6}.import-progress[hidden]{display:none}.import-progress-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.import-progress-head span{color:var(--accent);font-weight:800}.import-progress progress{display:block;width:100%;height:12px;accent-color:var(--accent)}.import-progress small{display:block;margin-top:7px;color:var(--muted);line-height:1.4}.data-card button:disabled{cursor:wait;opacity:.65}
.matter-activity{margin:0 20px 20px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.matter-activity-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f7f9fa;border-bottom:1px solid var(--line)}.matter-activity-head button{min-height:36px;padding:6px 10px;border:1px solid var(--accent);border-radius:6px;background:#fff;color:var(--accent);font-weight:700}.matter-activity-list{max-height:360px;overflow:auto}.timeline-row{display:grid;grid-template-columns:82px minmax(0,1fr) 86px;gap:10px;align-items:start;width:100%;padding:11px 14px;border:0;border-bottom:1px solid #edf1f3;background:#fff;color:var(--ink);text-align:left}.timeline-row:hover{background:#f8fbfa}.timeline-row strong,.timeline-row small{display:block}.timeline-row small{margin-top:3px;color:var(--muted)}.timeline-row time{color:var(--muted);font-size:11px;text-align:right}.timeline-kind{color:var(--accent);font-size:11px;font-weight:800}.timeline-limit{display:block;padding:8px 14px;color:var(--muted)}
@media(max-width:800px){.sync-banner form,.matter-hero,.matter-metrics{grid-template-columns:1fr}.matter-hero h2{font-size:22px}.topbar{height:58px;padding:7px 12px}.brand{font-size:16px}.brand-mark{width:32px;height:32px}.app-shell{display:block;min-height:calc(100vh - 116px)}.sidebar{display:none}main{padding:18px 14px 92px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.page-actions .label{display:none}.home-actions{grid-template-columns:1fr}.home-actions form{grid-template-columns:1fr 1fr}.home-actions form>div,.home-actions form button{grid-column:1/-1}.home-actions form button{min-height:48px}.calendar-quick{min-height:66px}.metrics{grid-template-columns:1fr 1fr}.metric{border-bottom:1px solid var(--line)}.metric:nth-child(2){border-right:0}.metric:nth-child(3),.metric:nth-child(4){border-bottom:0}.dashboard-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 5px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.mobile-nav button{display:grid;place-items:center;gap:2px;min-height:48px;border:0;background:transparent;color:var(--muted);font-size:10px}.mobile-nav button span{font-size:18px;line-height:18px}.mobile-nav button.active{color:var(--accent);font-weight:800}.form-grid{grid-template-columns:1fr}.quick-grid,.data-cards{grid-template-columns:1fr}.quick-grid button{padding:14px}.data-table th,.data-table td{padding:11px 12px}.mobile-hide{display:none}.page-actions{flex-wrap:wrap;justify-content:flex-end}#toast{right:14px;bottom:78px;left:14px}}
@media(max-width:430px){.metrics{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:21px}.activity,.matter-row{padding:12px 14px}.page-head{margin-bottom:16px}.quick-time{display:grid;padding:16px}.quick-time button{width:100%;min-height:54px;font-size:16px}.more-menu{grid-template-columns:1fr}.matter-note-tools{grid-template-columns:1fr;margin:0 14px 14px}.matter-note-tools button{width:100%;min-height:48px}.matter-activity{margin:0 14px 14px}.timeline-row{grid-template-columns:62px minmax(0,1fr)}.timeline-row time{grid-column:2;text-align:left}}
