
/* DESIGN TOKENS */
:root {
  --bg:#f5f2ec;--bg2:#ece7dd;--bg3:#e0dace;
  --surface:#fdfcf9;--surface2:#f8f5ef;
  --border:#d7d1c2;--border2:#c1b8a3;
  --text:#181410;--text2:#605851;--text3:#9a9184;
  --accent:#1a46b8;--accent2:#0f3396;--accent-bg:#e8eefb;--accent-glow:rgba(26,70,184,.18);
  --gold:#9c6c08;--gold-bg:#fbf2dc;
  --green:#0d6b33;--green-bg:#def2e3;
  --red:#a82626;--red-bg:#fae3e3;
  --amber:#864500;--amber-bg:#fce9d2;
  --purple:#562890;--purple-bg:#efe4fa;
  --teal:#0b5e5e;--teal-bg:#d7eded;
  --warn:#a85800;--warn-bg:#fdecd1;
  --font-display: ui-serif, Georgia, 'Times New Roman', serif;
  --font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --fs:13px;--r-sm:6px;--r:8px;--r-lg:12px;--r-xl:16px;
  --header-left-width:212px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

body.theme-clay{
  --accent:#7a4b2f;--accent2:#633b25;--accent-bg:#f1e5db;--accent-glow:rgba(122,75,47,.18);
  --gold:#8d6b22;--gold-bg:#f7efd9;
  --green:#4d6a43;--green-bg:#e4eee0;
  --red:#8b3d35;--red-bg:#f4e0de;
  --amber:#9a5a22;--amber-bg:#f7e6d5;
  --purple:#6f5b7b;--purple-bg:#ece6f1;
  --teal:#5d756f;--teal-bg:#e1ece9;
  --warn:#a05a22;--warn-bg:#f7e7d5;
}
body.theme-olive{
  --accent:#556b2f;--accent2:#445623;--accent-bg:#e6eddc;--accent-glow:rgba(85,107,47,.18);
  --gold:#8b6f2d;--gold-bg:#f5efd9;
  --green:#3f6a43;--green-bg:#deece1;
  --red:#8a433c;--red-bg:#f4e1de;
  --amber:#8e5c1a;--amber-bg:#f4e6d0;
  --purple:#6b5a74;--purple-bg:#ece6f0;
  --teal:#486b66;--teal-bg:#ddebe8;
  --warn:#9a6420;--warn-bg:#f3e7d2;
}
body.theme-indigo{
  --accent:#3f4f6b;--accent2:#334057;--accent-bg:#e4e8ef;--accent-glow:rgba(63,79,107,.18);
  --gold:#8a6a2c;--gold-bg:#f4edd9;
  --green:#466453;--green-bg:#e1ebe5;
  --red:#84423f;--red-bg:#f2e2e0;
  --amber:#8f5a29;--amber-bg:#f3e5d8;
  --purple:#5f5b79;--purple-bg:#e9e8f2;
  --teal:#4d6670;--teal-bg:#e1e9ec;
  --warn:#8f5929;--warn-bg:#f4e5d8;
}
.theme-control{display:flex;gap:6px;flex:1}
.thm-btn{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg2);color:var(--text2);font-size:10px;transition:all .12s}
.thm-btn:hover{border-color:var(--accent);color:var(--text)}
.thm-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.thm-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
.thm-dot.clay{background:#7a4b2f}.thm-dot.olive{background:#556b2f}.thm-dot.indigo{background:#3f4f6b}

.dark{
  --bg:#0a0e16;--bg2:#121824;--bg3:#1a2334;
  --surface:#121824;--surface2:#1a2334;
  --border:#253048;--border2:#384463;
  --text:#e7dfd0;--text2:#8c8370;--text3:#5a5447;
  --accent:#4d7cff;--accent2:#799bff;--accent-bg:#0a1836;--accent-glow:rgba(77,124,255,.28);
  --gold:#c59518;--gold-bg:#251b06;
  --green:#3bad68;--green-bg:#082014;
  --red:#d44040;--red-bg:#260b0b;
  --amber:#cf7c38;--amber-bg:#251408;
  --purple:#a072d4;--purple-bg:#180d2e;
  --teal:#39b4b4;--teal-bg:#081c1c;
  --warn:#cc8028;--warn-bg:#241706;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-size:var(--fs)}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;overflow:auto;transition:background .25s var(--ease),color .25s var(--ease)}
body.fs-sm{--fs:11px}body.fs-md{--fs:13px}body.fs-lg{--fs:15px}body.fs-xl{--fs:17px}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer;border:none;background:transparent}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}
.hidden{display:none!important}

@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes slideRight{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes scaleIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

/* LOGIN */
.login-screen{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px;animation:fadeIn .4s var(--ease)}
.login-screen.hidden{display:none}
.login-sheet{max-width:460px;width:100%;text-align:center}
.login-brand-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:4px}
.login-brand{font-family:var(--font-display);font-size:36px;font-weight:600;letter-spacing:-.01em;animation:fadeUp .5s var(--ease)}
.login-brand.stack{display:flex;flex-direction:column;align-items:flex-start;line-height:.88;font-size:46px}
.login-brand.stack span:last-child{margin-top:2px}
.login-logo-badge{width:54px;height:54px;border-radius:14px;background:var(--accent);display:flex;align-items:center;justify-content:center}
.login-logo-badge .logo-mark{width:34px;height:34px;color:#fff}
.login-tagline{font-size:12px;color:var(--text3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:36px}
.login-ornament{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--text3),transparent);margin:0 auto 36px}
.login-prompt{font-size:13px;color:var(--text2);margin-bottom:18px}
.login-users{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:10px 0}
.login-user{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;transition:all .2s var(--ease)}
.login-user:hover{border-color:var(--accent);transform:translateY(-1px)}
.login-user:active{transform:scale(.99)}
.login-user .id-avatar{width:28px;height:28px;font-size:11px}
.login-user-name{font-size:12px;color:var(--text);font-weight:500}
.login-note{margin-top:24px;font-size:11px;color:var(--text3);line-height:1.6}
.login-form{margin-top:16px;display:flex;flex-direction:column;gap:10px;animation:fadeUp .3s var(--ease)}
.login-picked-user{font-size:12px;color:var(--text2);padding:8px 10px;border:1px dashed var(--border);border-radius:var(--r);background:var(--surface)}
.login-form input{padding:10px 14px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);font-size:13px}
.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.login-error{font-size:12px;color:var(--red);min-height:18px;text-align:center}
.login-form button{background:var(--accent);color:#fff;padding:11px 14px;border-radius:var(--r);font-weight:500;font-size:15px;transition:all .15s}
.login-form button:hover{background:var(--accent2)}
.login-submit-icon{font-size:16px;line-height:1;vertical-align:middle;margin-left:3px}
.login-submit-icon svg{display:inline-block;vertical-align:middle}
.login-forgot-link{color:var(--accent);font-size:13px;text-decoration:none}
.login-hint{font-size:11px;color:var(--text3)}

/* APP SHELL */
.app{display:block;min-height:100vh;height:auto;animation:fadeIn .4s var(--ease)}
.app.hidden{display:none}

/* ANNOUNCE BAR */
.announce{background:linear-gradient(90deg,var(--accent2),var(--accent));color:rgba(255,255,255,.95);font-size:11px;padding:0;height:28px;display:flex;align-items:center;gap:0;flex-shrink:0;overflow:hidden}
.announce-date{font-family:var(--font-display);font-weight:700;font-style:normal;flex:0 0 var(--header-left-width);width:var(--header-left-width);padding:0 18px;line-height:1.05}
.announce-sep{width:1px;height:14px;background:rgba(255,255,255,.3)}
.announce-msg{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px;padding:0 18px}
.announce-tag{font-size:9px;font-weight:700;letter-spacing:.08em;background:rgba(255,255,255,.2);padding:1px 7px;border-radius:3px;text-transform:uppercase}
.announce-dot{width:6px;height:6px;border-radius:50%;background:#7fffd4;animation:pulse 2s infinite;flex-shrink:0}
.announce-edit{font-size:9px;background:rgba(255,255,255,.18);padding:2px 7px;border-radius:3px;opacity:.85;text-transform:uppercase;letter-spacing:.05em;font-weight:600;cursor:pointer;flex-shrink:0;transition:background .12s}
.announce-edit:hover{background:rgba(255,255,255,.3);opacity:1}
.announce-close{opacity:.7;padding:3px 6px;border-radius:3px;font-size:10px;flex-shrink:0;cursor:pointer}
.announce-close:hover{opacity:1;background:rgba(255,255,255,.15)}
body:not(.role-admin) .announce-edit{display:none}

/* HEADER */
.header{background:var(--surface);border-bottom:1px solid var(--border);display:grid;grid-template-columns:var(--header-left-width) minmax(0,1fr) auto;align-items:stretch;padding:0;height:52px;flex-shrink:0;z-index:260;position:relative}
.logo{display:flex;align-items:center;gap:9px;width:var(--header-left-width);padding:0 18px;border-right:1px solid var(--border);font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--accent);letter-spacing:.01em;cursor:pointer;white-space:nowrap;flex-shrink:0}
.logo-wordmark{display:flex;flex-direction:column;line-height:.86;font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.logo-wordmark span:last-child{margin-top:2px}
.logo-mark{width:29px;height:29px;display:block;flex-shrink:0;color:var(--accent)}
.logo-mark rect{fill:currentColor}
.logo-mark path{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.logo:hover{color:var(--accent2)}
.id-avatar{width:32px;height:32px;border-radius:50%;color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.id-avatar.blue{background:var(--accent)}.id-avatar.purple{background:var(--purple)}.id-avatar.teal{background:var(--teal)}
.id-name{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",serif;font-size:18px;font-weight:600;letter-spacing:.01em;color:var(--accent)}
.header-nav{display:flex;align-items:stretch;flex:1;overflow-x:hidden;overflow-y:hidden;scrollbar-width:none}
.header-nav::-webkit-scrollbar{display:none}
.nav-toggle-btn{display:none!important}
.nav-link{display:flex;align-items:center;justify-content:center;flex:1;gap:6px;padding:0 8px;font-size:12.5px;color:var(--text);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color .18s var(--ease),background .18s var(--ease);position:relative;user-select:none}
.icon,.app-icon,.nav-link svg,.btn-add svg,.icon-btn svg,.cal-nav-btn svg,.icon-toggle svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}
.icon-sm,.app-icon-sm{width:12px;height:12px;stroke-width:1.4}
.icon-md{width:16px;height:16px}
.icon-lg{width:20px;height:20px}
.icon-nav{width:13px;height:13px}
.nav-rupee{width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1;color:currentColor;opacity:.78}
.btn .icon,.nav-link .icon,.filter-chip .icon{stroke:currentColor}
.icon-btn .icon{width:15px;height:15px}
.action-icon .icon{width:14px;height:14px}
.nav-link svg{opacity:.7;transition:opacity .2s,transform .2s}
.nav-link:hover{color:var(--text)}
.nav-link:hover svg{opacity:1;transform:scale(1.08)}
.nav-link.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600;background:linear-gradient(180deg,var(--accent-bg),transparent)}
.nav-link.active svg{opacity:1}
.nav-badge{font-size:9px;font-weight:600;background:var(--red);color:#fff;border-radius:99px;padding:1px 6px;animation:breathe 2.5s infinite}
.nav-badge.muted{background:var(--bg3);color:var(--text3);animation:none}
.header-right{display:flex;align-items:center;gap:8px;padding:0 18px;border-left:1px solid var(--border);flex-shrink:0}

.btn-add{background:var(--accent);color:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0;transition:all .15s var(--ease);white-space:nowrap;min-height:34px;min-width:42px}
.btn-add:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 3px 10px var(--accent-glow)}
.btn-add:active{transform:scale(.98)}
.btn-add svg{transition:transform .2s}
#btn-quickadd-open:hover svg{transform:rotate(90deg)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--r-sm);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s var(--ease)}
.btn-primary:hover{background:var(--accent2);box-shadow:0 3px 10px var(--accent-glow)}
.view-btn{width:28px;height:28px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s var(--ease)}
.view-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.select-input{padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:11px}
.chip{padding:5px 10px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}
.chip:hover{background:var(--bg2)}
.chip.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}

.icon-btn{width:34px;height:34px;border-radius:var(--r);background:transparent;border:1px solid transparent;color:var(--text2);display:flex;align-items:center;justify-content:center;position:relative;transition:all .15s var(--ease)}
.icon-btn:hover{background:var(--bg2);color:var(--text);border-color:var(--border)}
.icon-btn.active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}
.icon-btn svg{transition:transform .2s}
.icon-btn:hover svg{transform:scale(1.08)}
.notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--red);border:1.5px solid var(--surface);animation:breathe 2s infinite}
.avatar-menu-anchor{margin-left:4px}
.avatar-btn{height:36px;min-width:58px;padding:2px 7px 2px 2px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);display:flex;align-items:center;gap:6px;color:var(--text2);transition:all .15s var(--ease)}
.avatar-btn:hover,.avatar-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}
.avatar-btn:hover .id-avatar{transform:scale(1.04)}
.avatar-chevron{display:flex;align-items:center}
.avatar-btn.active .avatar-chevron svg{transform:rotate(180deg)}

/* DROPDOWNS */
.dropdown-anchor{position:relative}
.dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 12px 40px rgba(0,0,0,.1);min-width:260px;z-index:200;display:none;overflow:hidden}
.dropdown.open{display:block;animation:slideDown .18s var(--ease)}
.dark .dropdown{box-shadow:0 12px 40px rgba(0,0,0,.5)}
.dropdown-menu{min-width:178px;padding:6px}
.dropdown-item{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:9px 10px;border-radius:var(--r-sm);font-size:12.5px;color:var(--text2);transition:all .12s}
.dropdown-item:hover{background:var(--bg2);color:var(--text);padding-left:13px}
.dropdown-item.danger{color:var(--red)}
.dropdown-item.danger:hover{background:var(--red-bg)}
.dp-head{padding:11px 14px 9px;border-bottom:1px solid var(--border);font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:6px}
.dp-head-action{margin-left:auto;font-size:10px;color:var(--accent);font-weight:500;text-transform:none;letter-spacing:0;cursor:pointer}
.dp-section{padding:6px;border-bottom:1px solid var(--border)}
.dp-section:last-child{border-bottom:none}
.dp-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:12.5px;color:var(--text2);cursor:pointer;transition:all .12s}
.dp-item:hover{background:var(--bg2);color:var(--text);padding-left:13px}
.dp-item svg{opacity:.7;flex-shrink:0;transition:opacity .15s}
.dp-item:hover svg{opacity:1}
.dp-item.danger{color:var(--red)}
.dp-item.danger:hover{background:var(--red-bg)}
.dp-item-sub{font-size:10px;color:var(--text3);display:block;margin-top:1px}

.a11y-dropdown{min-width:210px;padding:8px}
.a11y-row{display:flex;align-items:center;gap:8px;padding:6px}
.a11y-icon{color:var(--text3);flex-shrink:0}
.fs-control,.mode-control{display:flex;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;flex:1}
.fsc-btn,.mc-btn{padding:5px 0;flex:1;font-size:10px;background:var(--bg2);color:var(--text2);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .12s}
.fsc-btn:last-child,.mc-btn:last-child{border-right:none}
.fsc-btn.active,.mc-btn.active{background:var(--accent);color:#fff}
.fsc-btn:hover:not(.active),.mc-btn:hover:not(.active){background:var(--bg3);color:var(--text)}

.add-dropdown{min-width:240px}
.notif-dropdown{min-width:340px;max-height:440px;overflow-y:auto;padding:0}
.notif-item{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.notif-item:last-child{border-bottom:none}
.notif-item:hover{background:var(--bg2)}
.notif-item.unread{background:var(--accent-bg)}
.notif-icon-sm{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.notif-icon-sm.red{background:var(--red-bg);color:var(--red)}
.notif-icon-sm.amber{background:var(--amber-bg);color:var(--amber)}
.notif-icon-sm.green{background:var(--green-bg);color:var(--green)}
.notif-body{flex:1;min-width:0}
.notif-title{font-size:12px;font-weight:500;color:var(--text);margin-bottom:2px}
.notif-desc{font-size:11px;color:var(--text2);line-height:1.5}
.notif-time{font-size:10px;color:var(--text3);margin-top:3px}
.notif-unread{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:5px;flex-shrink:0}

.backdrop{position:fixed;inset:0;z-index:150;display:none;pointer-events:none}
.backdrop.open{display:block;pointer-events:auto}

/* MAIN */
.main{overflow:visible;display:block;min-height:0}
.page{overflow:visible;padding:22px 26px;display:none;animation:fadeUp .3s var(--ease)}
.page.active{display:block}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:14px;flex-wrap:wrap}
.page-title{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--accent2)}
.page-sub{display:none}
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:nowrap;flex:0 0 auto;margin-left:auto}
.content-action-row{display:block;margin-bottom:16px}
.content-action-row .page-actions{width:100%;margin-left:0;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:nowrap}
.content-action-row .page-actions .head-search,.content-action-row .page-actions .head-search:focus{width:auto;min-width:220px;max-width:none;flex:1 1 auto}
.head-search{width:auto;min-width:220px;max-width:none;flex:1 1 auto;transition:box-shadow .2s var(--ease)}
.head-search:focus{width:auto}
.command-btn{min-width:158px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 18px!important;font-size:12.5px!important;border-radius:8px!important;flex:0 0 auto}
#page-register .page-head,#page-tasks .page-head,#page-expenses .page-head{align-items:center;flex-wrap:nowrap}
#page-register .page-head>div:first-child,#page-tasks .page-head>div:first-child,#page-expenses .page-head>div:first-child{min-width:0;flex:1}
#page-register .page-actions,#page-tasks .page-actions,#page-expenses .page-actions{flex-wrap:nowrap}
#page-register .page-head>div:first-child,#page-tasks .page-head>div:first-child,#page-expenses .page-head>div:first-child{display:none}
#page-register .page-actions,#page-tasks .page-actions,#page-expenses .page-actions{flex:1 1 auto;width:100%;margin-left:0;justify-content:space-between}
#page-register .page-actions .head-search,#page-tasks .page-actions .head-search,#page-expenses .page-actions .head-search{margin-right:auto}
#page-brief .page-head{display:none}
#page-register .exp-kpi{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.page-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:14px;color:var(--text3)}
.ph-title{font-family:var(--font-display);font-size:28px;font-style:italic;color:var(--text2)}
.ph-sub{font-size:12px}

/* DASHBOARD */
.dash-header{display:none}
.dash-title{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.01em}
.dash-date{font-size:12px;color:var(--text3);font-family:var(--font-body)}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 18px;background:var(--bg2)}
.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 18px;position:relative;overflow:hidden;transition:all .2s var(--ease);animation:fadeUp .4s var(--ease) backwards;cursor:pointer}
.kpi-card:nth-child(1){animation-delay:.05s}
.kpi-card:nth-child(2){animation-delay:.1s}
.kpi-card:nth-child(3){animation-delay:.15s}
.kpi-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.kpi-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.07)}
.kpi-card:hover::before{transform:scaleX(1)}
.kpi-card.warn::before{background:var(--warn)}
.kpi-card.gold::before{background:var(--gold)}
.kpi-card.kpi-active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}
.kpi-card.kpi-active::before{transform:scaleX(1)}
.kpi-label{font-size:10.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-weight:500}
.kpi-val{font-family:var(--font-display);font-size:34px;font-weight:500;line-height:1;letter-spacing:-.02em}
.kpi-value{font-size:20px;font-weight:600;color:var(--accent);margin-bottom:2px}
.kpi-card.alert{background:var(--accent-bg);border-color:var(--accent)}
.kpi-val.accent{color:var(--accent)}.kpi-val.warn{color:var(--warn)}.kpi-val.green{color:var(--green)}.kpi-val.gold{color:var(--gold)}
.kpi-sub{font-size:11px;color:var(--text3);margin-top:6px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.kpi-trend{font-size:10px;font-weight:500;padding:1px 6px;border-radius:3px}
.kpi-trend.up{background:var(--green-bg);color:var(--green)}
.kpi-trend.down{background:var(--red-bg);color:var(--red)}
.kpi-trend.flat{background:var(--bg2);color:var(--text2)}

.dash-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
.dash-grid .dash-primary{order:-1}
.dash-col{display:flex;flex-direction:column;gap:14px}
.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;animation:fadeUp .4s var(--ease) backwards;transition:box-shadow .2s}
.dash-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.06)}
.dash-card.is-collapsed .dash-card-body{display:none!important}
.dash-card.reminders{border-left:3px solid var(--gold)}
.dash-card:nth-child(1){animation-delay:.2s}
.dash-card:nth-child(2){animation-delay:.25s}
.dc-header{padding:11px 15px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em}
.dc-header[role=button]{cursor:pointer}
.dc-header[role=button]::after{content:'-';font:700 14px var(--font-ui);color:var(--text3);margin-left:8px}
.dash-card.is-collapsed .dc-header[role=button]::after{content:'+'}
.dash-mini-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}
.dash-mini-tab{border:1px solid var(--border);background:var(--surface2);color:var(--text2);border-radius:999px;padding:4px 8px;font:650 10px var(--font-ui);text-transform:none;letter-spacing:0;cursor:pointer}
.dash-mini-tab.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}
.dc-link{font-size:11px;color:var(--accent);font-weight:400;cursor:pointer;text-transform:none;letter-spacing:0;padding:3px 7px;border-radius:4px;transition:background .12s}
.dc-link:hover{background:var(--accent-bg)}
.dc-icon-link{width:26px;height:26px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;transition:all .15s var(--ease)}
.dc-icon-link:hover{background:var(--accent-bg);border-color:var(--accent);transform:translateY(-1px)}

.today-row{display:flex;align-items:center;gap:11px;padding:10px 15px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s}
.today-row:last-child{border-bottom:none}
.today-row:hover{background:var(--bg2);padding-left:18px}
.today-time{font-family:var(--font-mono);font-size:11px;color:var(--text2);width:52px;flex-shrink:0;font-weight:500}
.today-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.today-dot.court{background:var(--accent)}
.today-dot.deadline{background:var(--red);animation:pulse 2s infinite}
.today-main{flex:1;min-width:0}
.today-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display);letter-spacing:-.005em}
.today-sub{font-size:11px;color:var(--text3);margin-top:2px}
.today-badge{font-size:9.5px;padding:2px 7px;border-radius:99px;font-weight:500;letter-spacing:.03em;flex-shrink:0}
.tb-court{background:var(--accent-bg);color:var(--accent)}
.tb-deadline{background:var(--red-bg);color:var(--red)}

.upcoming-row{display:flex;align-items:flex-start;gap:11px;padding:10px 15px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s}
.upcoming-row:last-child{border-bottom:none}
.upcoming-row:hover{background:var(--bg2)}
.ud-box{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-sm);padding:5px 9px;text-align:center;flex-shrink:0;min-width:44px;transition:all .15s}
.upcoming-row:hover .ud-box{border-color:var(--accent);background:var(--accent-bg)}
.ud-day{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text);line-height:1;letter-spacing:-.02em}
.upcoming-row:hover .ud-day{color:var(--accent)}
.ud-mon{font-size:9.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-top:1px}
.uc-case{font-size:12.5px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display);letter-spacing:-.005em}
.uc-meta{font-size:10.5px;color:var(--text3);margin-top:2px}

.task-mini{display:flex;align-items:center;gap:10px;padding:9px 15px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}
.task-mini:last-child{border-bottom:none}
.task-mini:hover{background:var(--bg2)}
.tm-check{width:15px;height:15px;border:1.5px solid var(--border2);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;transition:all .15s}
.tm-check.overdue{border-color:var(--red);color:var(--red);font-weight:700}
.tm-text{flex:1;font-size:12px;color:var(--text)}
.tm-due{font-size:10.5px;color:var(--text3);white-space:nowrap}
.tm-due.overdue{color:var(--red);font-weight:500}

.reminder-row{display:flex;gap:10px;padding:10px 15px;border-bottom:1px solid var(--border);transition:all .15s}
.reminder-row:last-child{border-bottom:none}
.reminder-row:hover{background:var(--bg2)}
.rem-tag{font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:3px;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;margin-top:1px;height:18px;display:flex;align-items:center}
.rem-tag.red{background:var(--red-bg);color:var(--red)}
.rem-tag.amber{background:var(--amber-bg);color:var(--amber)}
.rem-tag.accent{background:var(--accent-bg);color:var(--accent)}
.rem-title{font-size:12px;font-weight:500;color:var(--text);margin-bottom:2px}
.rem-desc{font-size:11px;color:var(--text2);line-height:1.5}

/* REGISTER */
.search-input{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:9px 14px 9px 38px;min-height:42px;font-size:12.5px;font-weight:500;color:var(--text);width:240px;transition:all .15s;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23605851' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:15px center}
.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.filter-pills{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.fp{padding:5px 12px;border-radius:99px;background:var(--surface);border:1px solid var(--border);color:var(--text2);font-size:11.5px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:5px}
.fp:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.fp:active{transform:scale(.98)}
.fp.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow)}

.register-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.rt-row{display:grid;grid-template-columns:80px 2fr 120px 120px 110px 70px;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s;font-size:12px}
.rt-row:last-child{border-bottom:none}
.rt-row.head{background:var(--bg2);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;font-weight:600;cursor:default;padding:9px 16px}
.rt-row:not(.head):hover{background:var(--bg2);padding-left:20px}
.rt-row.rt-status-disposed{background:color-mix(in srgb,var(--red-bg) 45%, transparent)}
.rt-row.rt-status-pending{background:color-mix(in srgb,var(--green-bg) 45%, transparent)}
.rt-row.rt-status-action{background:color-mix(in srgb,var(--accent-bg) 45%, transparent)}
.rt-file{font-family:var(--font-mono);font-size:11px;color:var(--accent);font-weight:500;padding:2px 8px;background:var(--accent-bg);border-radius:4px;width:fit-content}
.rt-case{font-family:var(--font-display);font-size:13.5px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}
.rt-reg{font-size:10.5px;color:var(--text3);margin-top:2px;font-family:var(--font-mono)}
.rt-court{font-size:11px;color:var(--text2)}
.rt-status-chip{font-size:10px;padding:2px 8px;border-radius:99px;font-weight:500;letter-spacing:.02em;display:inline-block}
.sc-pending{background:var(--green-bg);color:var(--green)}
.sc-admission{background:var(--amber-bg);color:var(--amber)}
.sc-reserved{background:var(--purple-bg);color:var(--purple)}
.sc-disposed{background:var(--bg3);color:var(--text3)}
.sc-partheard{background:var(--teal-bg);color:var(--teal)}
.rt-date{font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--text)}
.rt-date.none{color:var(--text3);font-style:normal}
.rt-role{font-size:9px;padding:2px 6px;border-radius:3px;font-weight:600;letter-spacing:.04em;display:inline-block}
.rb-aor{background:var(--purple-bg);color:var(--purple)}
.rb-arg{background:var(--accent-bg);color:var(--accent)}
.rb-brief{background:var(--amber-bg);color:var(--amber)}
.rb-watch{background:var(--bg3);color:var(--text3)}

/* CASE PAGE */
.case-page{padding:0!important;display:none;flex-direction:column;height:100%;min-height:0}
.case-page.active{display:flex}
.case-header{background:linear-gradient(180deg,var(--accent-bg) 0%,var(--surface) 100%);border-bottom:1px solid var(--border);padding:10px 18px 10px;display:flex;gap:14px;position:relative;flex-wrap:wrap;flex-shrink:0}
.case-header::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--purple),var(--gold))}
.ch-main{flex:1;min-width:0}
.ch-meta-top{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}
.ch-file{font-family:var(--font-mono);font-size:11px;background:var(--accent);color:#fff;padding:2px 9px;border-radius:4px;font-weight:600;letter-spacing:.04em}
.ch-role-pill{font-size:10.5px;font-weight:600;padding:2px 10px;border-radius:4px;letter-spacing:.03em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px}
.ch-role-pill.aor{background:var(--purple);color:#fff}
.ch-role-pill.arg{background:var(--accent);color:#fff}
.ch-role-pill.brief{background:var(--amber);color:#fff}
.ch-role-pill.watch{background:var(--text3);color:#fff}
.ch-appear{font-size:11px;color:var(--text2);font-family:var(--font-display);font-style:italic}
.ch-appear strong{color:var(--text);font-weight:500;font-style:normal}
.ch-cause{font-family:var(--font-display);font-size:19px;font-weight:500;line-height:1.22;letter-spacing:-.015em;margin-bottom:3px}
.ch-cause em{font-style:normal;font-weight:400;color:var(--text3);font-size:18px}
.ch-reg{font-family:var(--font-body);font-size:13px;color:var(--text2);margin-top:4px}
.ch-court-info{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.ch-court-badge{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:10.5px;color:var(--text2);font-weight:500}

.ch-status-box{display:grid;grid-template-columns:repeat(4,auto);background:linear-gradient(180deg,var(--surface),var(--accent-bg));border:1px solid var(--accent);border-radius:var(--r-lg);overflow:hidden;align-self:flex-start;min-width:380px;box-shadow:0 4px 16px var(--accent-glow)}
.csb-cell{padding:10px 16px;border-right:1px solid var(--border)}
.csb-cell:last-child{border-right:none}
.csb-lbl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-weight:600}
.csb-val{font-size:15px;font-weight:600;font-family:var(--font-display)}
.csb-val.accent{color:var(--accent)}.csb-val.warn{color:var(--warn)}.csb-val.green{color:var(--green)}.csb-val.purple{color:var(--purple)}.csb-val.amber{color:var(--amber)}.csb-val.teal{color:var(--teal)}
.csb-sub{font-size:10px;color:var(--text3);margin-top:1px}

.case-body{display:flex;flex:1;overflow:hidden;min-height:0}
.case-sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:10px 7px;width:48px;transition:width .25s var(--ease);overflow:hidden;flex-shrink:0}
.case-sidebar.expanded{width:160px}
.cs-nav{display:flex;align-items:center;gap:10px;padding:9px;border-radius:var(--r);cursor:pointer;color:var(--text3);margin-bottom:2px;white-space:nowrap;transition:all .15s;position:relative}
.cs-nav svg{display:block;opacity:1;min-width:16px}
.cs-nav:hover{background:var(--bg2);color:var(--text)}
.cs-nav:active{transform:scale(.97)}
.cs-nav.active{background:var(--accent);color:#fff}
.cs-label{font-size:12px;opacity:0;transition:opacity .15s;pointer-events:none}
.case-sidebar.expanded .cs-label{opacity:1;pointer-events:auto}
.cs-tooltip{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);background:var(--text);color:var(--bg);font-size:11px;padding:3px 8px;border-radius:4px;opacity:0;pointer-events:none;white-space:nowrap;z-index:50;transition:opacity .15s}
.case-sidebar:not(.expanded) .cs-nav:hover .cs-tooltip{opacity:1}
.cs-sep{height:1px;background:var(--border);margin:6px 4px}
.cs-expand{margin-top:auto;display:flex;align-items:center;justify-content:center;color:var(--text3);padding:8px;min-height:36px;cursor:pointer;border-top:1px solid var(--border);transition:color .15s}
.cs-expand:hover{color:var(--text)}
.cs-expand svg{transition:transform .25s}
.case-sidebar.expanded .cs-expand svg{transform:rotate(180deg)}

.case-main{flex:1;overflow-y:auto;padding:18px 22px;min-width:0;min-height:0}
.case-tab{display:none;animation:fadeUp .25s var(--ease)}
.case-tab.active{display:block}

.warn-card{border-radius:var(--r);padding:9px 13px;font-size:12px;display:flex;align-items:center;gap:9px;line-height:1.5;border-left:3px solid;margin-bottom:7px;animation:slideRight .3s var(--ease)}
.warn-card.red{background:var(--red-bg);border-left-color:var(--red);color:var(--red)}
.warn-card.amber{background:var(--amber-bg);border-left-color:var(--amber);color:var(--amber)}
.warn-card.green{background:var(--green-bg);border-left-color:var(--green);color:var(--green)}

.ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;margin-top:12px}
.ov-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 15px;transition:all .15s}
.ov-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.ov-lbl{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px;font-weight:600}
.ov-val{font-size:13.5px;color:var(--text);font-weight:500;line-height:1.4;font-family:var(--font-display)}
.ov-val.accent{color:var(--accent)}.ov-val.gold{color:var(--gold)}

.hearing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:13px 16px;margin-bottom:10px;border-left:3px solid var(--accent);transition:all .15s}
.hearing-card:hover{transform:translateX(3px);border-left-width:5px}
.hearing-card.old{border-left-color:var(--border2);opacity:.85}
.hc-date{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.hc-date-label{font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--accent)}
.hearing-card.old .hc-date-label{color:var(--text2)}
.hc-order-link{font-size:10.5px;color:var(--accent);cursor:pointer;padding:2px 8px;background:var(--accent-bg);border-radius:4px;font-weight:500;transition:all .15s}
.hc-order-link:hover{background:var(--accent);color:#fff}
.phase-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}
.phase-badge.open{background:var(--gold-bg);color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,var(--border))}
.phase-badge.done{background:var(--green-bg);color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,var(--border))}
.hc-bench{font-size:11.5px;color:var(--text2);margin-bottom:5px;font-family:var(--font-display);font-style:italic}
.hc-what{font-size:12.5px;color:var(--text);font-weight:500;margin-bottom:4px}
.hc-happened{font-size:12px;color:var(--text2);line-height:1.65}
.hc-next{margin-top:7px;font-size:11px;color:var(--gold);display:flex;align-items:center;gap:5px;padding-top:6px;border-top:1px dashed var(--border)}

.case-rail{width:200px;background:var(--surface);border-left:1px solid var(--border);padding:14px;flex-shrink:0;overflow-y:auto}
.rail-sec{margin-bottom:16px}
.rail-title{font-size:9.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px;font-weight:600}
.rp-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;transition:background .12s}
.rp-item:hover{background:var(--bg2)}
.rp-avatar{width:26px;height:26px;border-radius:50%;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rp-avatar.blue{background:var(--accent)}.rp-avatar.purple{background:var(--purple)}.rp-avatar.teal{background:var(--teal)}
.rp-name{font-size:11.5px;font-weight:500;color:var(--text);font-family:var(--font-display);letter-spacing:-.005em}
.rp-role{font-size:9.5px;color:var(--text3)}
.update-item{padding:8px 10px;background:var(--surface2);border-radius:var(--r-sm);margin-bottom:6px;border-left:2px solid var(--border2);transition:all .15s;cursor:pointer}
.update-item:hover{border-left-color:var(--accent);transform:translateX(2px)}
.ui-when{font-size:9.5px;color:var(--text3);font-family:var(--font-mono);margin-bottom:2px}
.ui-text{font-size:11px;color:var(--text);line-height:1.4}
.ui-by{font-size:9.5px;color:var(--text3);margin-top:2px}
.phase2-notice{padding:10px 12px;background:var(--gold-bg);border:1px dashed var(--gold);border-radius:var(--r-sm);font-size:11px;color:var(--gold);line-height:1.5;margin-top:8px}

.ctable-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.ctable{width:100%;border-collapse:collapse;font-size:12px}
.ctable th{text-align:left;font-size:10px;color:var(--text3);font-weight:600;padding:9px 12px;background:var(--bg2);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}
.ctable td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text2)}
.ctable tr:last-child td{border-bottom:none}
.ctable tr:hover td{background:var(--bg2)}
.ctable td:first-child{color:var(--text);font-weight:500}

.task-row{display:flex;align-items:flex-start;gap:10px;padding:10px 13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:7px;transition:all .15s}
.task-row:hover{border-color:var(--accent);transform:translateX(2px)}
.tr-check{width:17px;height:17px;border:1.5px solid var(--border2);border-radius:4px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;transition:all .15s}
.tr-check:hover{border-color:var(--accent)}
.tr-check.done{background:var(--green);border-color:var(--green);color:#fff}
.tr-check.blocked{border-color:var(--red);color:var(--red);font-weight:700;background:var(--red-bg)}
.tr-body{flex:1;min-width:0}
.tr-text{font-size:14px;color:var(--text);line-height:1.45}
.tr-text.done{text-decoration:line-through;color:var(--text3)}
.tr-meta{font-size:12px;color:var(--text3);margin-top:3px}
.task-meta-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.task-meta-chip{font-size:10px;border:1px solid var(--border);border-radius:999px;padding:2px 8px;background:var(--bg2);color:var(--text2)}
.task-meta-chip.assigned{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}
.tr-badge{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:500;flex-shrink:0;margin-top:1px}
.trb-open{background:var(--amber-bg);color:var(--amber)}
.trb-done{background:var(--green-bg);color:var(--green)}
.trb-blocked{background:var(--red-bg);color:var(--red)}
.trb-inprog{background:var(--accent-bg);color:var(--accent)}
.tasks-page-row .tr-text{font-size:15px}
.tasks-page-row .tr-meta{font-size:12.5px}
.task-list-view{display:flex;flex-direction:column;gap:8px}
.task-page-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:11px 12px;display:flex;align-items:center;gap:12px;transition:all .15s var(--ease)}
.task-page-row:hover{border-color:var(--accent);background:var(--surface2);transform:translateX(2px)}
.task-page-row.overdue{background:color-mix(in srgb,var(--red-bg) 38%,var(--surface));border-color:color-mix(in srgb,var(--red) 35%,var(--border))}
.task-check{width:18px;height:18px;border:1.5px solid var(--border2);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:var(--surface)}
.task-check:hover{border-color:var(--accent)}
.task-check.checked{background:var(--green);border-color:var(--green)}
.task-page-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.task-page-title{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.35}
.task-page-title.done{text-decoration:line-through;color:var(--text3)}
.task-page-notes{font-size:11.5px;line-height:1.45;color:var(--text2);max-width:860px}
.task-page-meta{font-size:10.5px;color:var(--text3);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.priority-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;background:currentColor;border:1px solid color-mix(in srgb,currentColor 65%, #fff);box-shadow:0 0 0 1px color-mix(in srgb,currentColor 20%, transparent)}
.priority-dot.high{color:var(--red)}
.priority-dot.med,.priority-dot.medium{color:var(--gold)}
.priority-dot.low{color:var(--border2)}
.task-due-badge,.task-status-badge{padding:4px 8px;border-radius:4px;font-size:10.5px;font-weight:600;white-space:nowrap;flex-shrink:0}
.task-due-badge.overdue{background:var(--red-bg);color:var(--red)}
.task-due-badge.today{background:var(--accent-bg);color:var(--accent)}
.task-due-badge.normal{background:var(--bg2);color:var(--text2)}
.task-status-badge{background:var(--bg2);color:var(--text2)}
.task-status-badge.open{background:var(--amber-bg);color:var(--amber)}
.task-status-badge.review{background:var(--purple-bg);color:var(--purple)}
.task-status-badge.done{background:var(--green-bg);color:var(--green)}
.task-action-icons{display:flex;gap:4px;opacity:.58;transition:opacity .15s;flex-shrink:0}
.task-action-icons{opacity:.75}
.task-page-row:hover .task-action-icons{opacity:1}
.action-icon{width:24px;height:24px;border:1px solid var(--border);background:var(--surface);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);transition:all .15s}
.action-icon:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.action-icon.danger:hover{background:var(--red-bg);border-color:var(--red);color:var(--red)}
.inline-actions,.daily-actions{display:flex;align-items:center;gap:4px}

body.fs-sm .page-title{font-size:21px}
body.fs-sm .nav-link{font-size:11.5px}
body.fs-sm .tr-text{font-size:13px}
body.fs-sm .tr-meta{font-size:11px}
body.fs-sm .rt-row{font-size:11px}
body.fs-sm .today-title{font-size:12px}

body.fs-lg .page-title{font-size:27px}
body.fs-lg .nav-link{font-size:13.5px}
body.fs-lg .tr-text{font-size:15px}
body.fs-lg .tr-meta{font-size:12.5px}
body.fs-lg .rt-row{font-size:13px}
body.fs-lg .today-title{font-size:14px}
body.fs-lg .dash-title{font-size:31px}
body.fs-lg .kpi-val{font-size:38px}
body.fs-lg .ch-cause{font-size:21px}

body.fs-xl .page-title{font-size:30px}
body.fs-xl .nav-link{font-size:14px}
body.fs-xl .tr-text{font-size:16px}
body.fs-xl .tr-meta{font-size:13px}
body.fs-xl .rt-row{font-size:13.5px}
body.fs-xl .today-title{font-size:15px}
body.fs-xl .dash-title{font-size:34px}
body.fs-xl .kpi-val{font-size:41px}
body.fs-xl .ch-cause{font-size:23px}

.note-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 15px;margin-bottom:9px;border-left:3px solid;transition:all .15s}
.note-card:hover{transform:translateX(3px);border-left-width:5px}
.note-card.strategy{border-left-color:var(--gold)}
.note-card.client{border-left-color:var(--accent)}
.note-card.hearing{border-left-color:var(--purple)}
.note-card.registry{border-left-color:var(--teal)}
.nc-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;font-weight:600}
.nc-head.strategy{color:var(--gold)}.nc-head.client{color:var(--accent)}.nc-head.hearing{color:var(--purple)}.nc-head.registry{color:var(--teal)}
.nc-when{color:var(--text3);font-weight:400;letter-spacing:0;font-family:var(--font-mono);font-size:9.5px;text-transform:none}
.nc-body{font-size:12.5px;color:var(--text);line-height:1.7}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 15px;transition:all .15s}
.contact-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.cc-role{font-size:9.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-weight:600}
.cc-body{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.cc-avatar{width:32px;height:32px;border-radius:50%;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cc-name{font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--text);letter-spacing:-.005em}
.cc-sub{font-size:10.5px;color:var(--text3);margin-top:1px}
.cc-detail{font-size:11.5px;color:var(--text2);margin-top:2px;font-family:var(--font-mono)}
.cc-email{color:var(--accent)}

/* CALENDAR */
.cal-controls{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:nowrap}
.calendar-summary{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--accent2);margin-bottom:10px}
.daily-top-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.daily-top-row .calendar-summary{margin-bottom:0}
.calendar-actions-head{margin-bottom:8px}
.calendar-main-controls{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);gap:8px}
.cal-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0;border:none;background:transparent}
.cal-group-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.cal-controls #cal-date-picker{padding:6px 8px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:140px;width:auto;max-width:170px;flex:0 0 auto}
.cal-nav-btn{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text2);display:flex;align-items:center;justify-content:center;transition:all .15s}
.cal-nav-btn:hover{border-color:var(--accent);color:var(--accent)}
.cal-today-btn{border:1px solid var(--border);border-radius:var(--r);padding:5px 10px;font-size:11px;color:var(--text2);background:var(--surface);transition:all .15s;line-height:1.2;white-space:nowrap}
.cal-today-btn:hover{border-color:var(--accent);color:var(--accent)}
.cal-today-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}
.cal-today-btn.icon-toggle{width:31px;height:31px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.cal-show-only{margin-left:auto;color:var(--text2);font-size:12px}
.cal-show-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-right:2px}
.cal-show-only .cal-cat-chip{min-height:30px!important;padding:5px 10px!important}
.cal-show-only .cal-cat-chip::before{display:none}
.cal-month-label{font-family:var(--font-display);font-size:17px;font-weight:500;letter-spacing:-.01em;margin-left:6px;margin-right:auto}
.cal-legend{display:flex;gap:10px;font-size:10.5px;color:var(--text2)}
.cl-item{display:flex;align-items:center;gap:5px}
.cl-dot{width:8px;height:8px;border-radius:50%}
.cl-dot.court{background:var(--accent)}.cl-dot.appointment{background:var(--purple)}.cl-dot.deadline{background:var(--red)}.cl-dot.holiday{background:var(--gold)}

.cal-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg2);border-bottom:1px solid var(--border)}
.cal-dow{padding:9px 10px;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;border-right:1px solid var(--border)}
.cal-dow:last-child{border-right:none}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-single-day .cal-dow-row,.cal-single-day .cal-days{grid-template-columns:1fr}
.cal-single-day .cal-dow:nth-child(n+2){display:none}
.cal-single-day .cal-day{min-height:240px}
.cal-day{min-height:52px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:3px 5px;cursor:pointer;transition:background .12s;position:relative;overflow:hidden}
.cal-day:hover{background:var(--bg2)}
.cal-day.out{opacity:.35}
.cal-day.today{background:var(--accent-bg)}
.cal-day.today .cd-num{color:var(--accent);font-weight:700}
.cal-day.weekend{background:var(--surface2)}
.cd-num{font-size:12px;color:var(--text);font-weight:500;font-family:var(--font-display);margin-bottom:2px}
.cd-event{font-size:8px;padding:1px 3px;border-radius:3px;margin-bottom:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;cursor:pointer;transition:transform .12s}
.cd-event:hover{transform:translateX(1px)}
.cd-event.court{background:var(--accent-bg);color:var(--accent);border-left:2px solid var(--accent)}
.cd-event.appointment{background:var(--purple-bg);color:var(--purple);border-left:2px solid var(--purple)}
.cd-event.deadline{background:var(--red-bg);color:var(--red);border-left:2px solid var(--red)}
.cd-event.holiday{background:var(--gold-bg);color:var(--gold);border-left:2px solid var(--gold)}
#cal-list-view .daily-row{background:var(--surface2)}
#cal-list-view{padding:10px}
#cal-list-view .daily-row{padding:5px 7px;margin-bottom:5px}
#cal-list-view .daily-row-meta{font-size:10px}
#cal-filter-toolbar{margin-bottom:8px}
#page-calendar .page-head{margin-bottom:10px}
#page-calendar .exp-toolbar{margin-bottom:8px}
#page-calendar .cal-grid{max-height:none;overflow:visible}
#page-calendar #cal-list-view{max-height:none;overflow:visible}

/* EXPENSES */
.exp-kpi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
#page-register .exp-kpi{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.exp-kpi .kpi-card{padding:12px 15px}
.exp-kpi .kpi-val{font-size:24px}
.exp-kpi .kpi-sub{display:none}
.compact-kpi{gap:8px;margin-bottom:10px}
.compact-kpi .kpi-card{padding:10px 12px}
.compact-kpi .kpi-label{margin-bottom:5px;font-size:10px}
.compact-kpi .kpi-val{font-size:22px}
#tasks-kpi-open-card{background:color-mix(in srgb,var(--amber-bg) 35%, var(--surface))}
#tasks-kpi-today-card{background:color-mix(in srgb,var(--accent-bg) 35%, var(--surface))}
#tasks-kpi-overdue-card{background:color-mix(in srgb,var(--red-bg) 35%, var(--surface))}
#tasks-kpi-done-week-card{background:color-mix(in srgb,var(--green-bg) 35%, var(--surface))}
.exp-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.toolbar-panel,#daily-toolbar,.control-bar{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);gap:8px}
.control-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.control-bar-row-2{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:12px}
.control-group{display:flex;flex-direction:column;gap:6px;min-width:0}
.control-label,.control-group>label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin:0}
.segmented-control{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.filter-chip,.view-toggle{min-height:32px;border:1px solid var(--border);border-radius:999px;padding:7px 13px;background:var(--surface2);color:var(--text);font-size:12px;font-weight:650;line-height:1;white-space:nowrap;transition:all .15s var(--ease)}
.filter-chip:hover,.view-toggle:hover{border-color:var(--accent);color:var(--accent)}
.filter-chip.active,.view-toggle.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.sort-select{min-width:148px!important;background:var(--surface)!important}
.control-shadow-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.control-select-group{min-width:148px}
.proceeding-phase-toggle{width:max-content}
.proceeding-after-fields.is-hidden{display:none}
.daily-toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#daily-toolbar input[type=date]{padding:6px 8px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:140px;width:auto;max-width:170px;flex:0 0 auto}
.exp-toolbar-group{display:flex;flex-direction:column;gap:5px}
.exp-toolbar label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.exp-toolbar input,.exp-toolbar select{padding:7px 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:170px}
#daily-toolbar .exp-toolbar-group{min-width:150px}
#daily-toolbar .btn{white-space:nowrap}
.print-action{width:32px!important;height:32px!important;min-width:32px!important}
.exp-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:18px}
.exp-table{width:100%;border-collapse:collapse;font-size:12px}
.exp-table th{text-align:left;font-size:10px;color:var(--text3);font-weight:600;padding:10px 14px;background:var(--bg2);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border)}
.exp-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text2);transition:background .1s}
.exp-table tr:last-child td{border-bottom:none}
.exp-table tbody tr:hover td{background:var(--bg2)}
.exp-table td.amount{font-family:var(--font-mono);font-weight:500;color:var(--text)}
.case-link{color:var(--accent);cursor:pointer;font-size:11.5px;transition:color .12s}
.case-link:hover{text-decoration:underline}
.th-sort{font-size:10px;color:inherit;text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.th-sort:hover{color:var(--accent)}
.sort-ind{display:inline-block;min-width:10px;margin-left:4px;color:var(--text3);font-size:10px;line-height:1}
.sort-ind.active{color:var(--accent);font-weight:700}
.exp-head-chip{font-size:10px;padding:2px 8px;border-radius:4px;background:var(--bg2);border:1px solid var(--border);color:var(--text2);white-space:nowrap;display:inline-block}
.exp-badge{font-size:9.5px;padding:2px 8px;border-radius:99px;font-weight:500}
.eb-pending{background:var(--amber-bg);color:var(--amber)}
.eb-approved,.eb-reimbursed{background:var(--green-bg);color:var(--green)}
.exp-type-chip{font-size:10px;padding:2px 8px;border-radius:99px;background:var(--bg2);color:var(--text2);display:inline-flex;text-transform:capitalize}
.by-chip{width:22px;height:22px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-right:5px;vertical-align:middle;flex-shrink:0}
.by-chip.blue{background:var(--accent)}.by-chip.purple{background:var(--purple)}.by-chip.teal{background:var(--teal)}

body.role-staff .admin-only{display:none!important}
body.role-team .admin-only{display:none!important}

/* RESOURCES */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.res-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:all .2s;animation:fadeUp .3s var(--ease) backwards}
.res-card:nth-child(1){animation-delay:.05s}.res-card:nth-child(2){animation-delay:.1s}.res-card:nth-child(3){animation-delay:.15s}.res-card:nth-child(4){animation-delay:.2s}.res-card:nth-child(5){animation-delay:.25s}.res-card:nth-child(6){animation-delay:.3s}
.res-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.07)}
.rc-head{padding:12px 15px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:14.5px;font-weight:500;letter-spacing:-.01em}
.rc-icon{width:32px;height:32px;border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.rc-icon.blue{background:var(--accent-bg);color:var(--accent)}
.rc-icon.teal{background:var(--teal-bg);color:var(--teal)}
.rc-icon.gold{background:var(--gold-bg);color:var(--gold)}
.rc-icon.purple{background:var(--purple-bg);color:var(--purple)}
.rc-icon.green{background:var(--green-bg);color:var(--green)}
.rc-icon.red{background:var(--red-bg);color:var(--red)}
.rc-link{display:flex;align-items:center;gap:9px;padding:8px 15px;font-size:12px;color:var(--text2);border-bottom:1px solid var(--border);transition:all .12s}
.rc-link:last-child{border-bottom:none}
.rc-link:hover{background:var(--bg2);color:var(--accent);padding-left:18px}
.rc-link svg{opacity:.6;flex-shrink:0}
.rc-ext{margin-left:auto;font-size:10px;opacity:.5}
.rc-badge{font-size:9px;padding:1px 6px;border-radius:3px;background:var(--green-bg);color:var(--green);font-weight:500}

/* DAILY BRIEF */
.brief-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:14px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.brief-section{padding:14px 18px;border-bottom:1px solid var(--border)}
.brief-section:last-child{border-bottom:none}
.brief-sec-title{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.brief-subtitle{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin:8px 0 6px}
.daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
#page-brief .daily-grid>.daily-card:first-child{grid-column:1 / -1}
.daily-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px}
.daily-card-title{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.daily-card-actions{display:flex;justify-content:flex-end;margin-top:8px}
.represented-party-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.represented-party-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(120px,.8fr) minmax(140px,.7fr) auto;gap:8px;align-items:center}
.represented-party-row input,.represented-party-row select{margin:0}
.daily-row{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r);margin-bottom:8px;background:var(--bg2)}
.daily-row-auto{border-style:dashed}
.daily-row-meta{font-size:11px;color:var(--text3);margin-top:4px}
.daily-empty{padding:10px;color:var(--text3);font-style:italic;font-size:12px}
.empty-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px;color:var(--text3);font-style:italic;font-size:12.5px}
.empty-state .icon{opacity:.75}
.daily-inline-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.daily-list-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.daily-list-chip.chip-hearing{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.daily-list-chip.chip-appointment{background:var(--purple-bg);border-color:var(--purple);color:var(--purple)}
.daily-list-chip.chip-tasks_due{background:var(--red-bg);border-color:var(--red);color:var(--red)}
.daily-list-chip.chip-holiday{background:var(--gold-bg);border-color:var(--gold);color:var(--gold)}
.daily-brief-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r);margin-bottom:8px;cursor:pointer}
.daily-brief-row:hover{border-color:var(--accent)}
.daily-brief-title{font-size:12px;color:var(--text);font-weight:500}
.daily-brief-meta{font-size:11px;color:var(--text3)}
.daily-brief-pill{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:3px 7px;white-space:nowrap}
.daily-table-wrap{overflow:auto}
.daily-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;color:#181818}
.daily-table th,.daily-table td{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:7px;vertical-align:top}
.daily-table th:first-child,.daily-table td:first-child{border-left:0}
.daily-table th:last-child,.daily-table td:last-child{border-right:0}
.daily-table tbody tr:last-child td{border-bottom:0}
.daily-table th{background:var(--bg2);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#111}
.daily-bold-no{font-size:16px;font-weight:700;font-family:var(--font-mono);line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:44px;text-align:center}
.daily-number-link{color:var(--accent);text-decoration:none;border-bottom:0}
.daily-number-link:hover{color:var(--accent2)}
.daily-matter-note{display:block;color:var(--text3);font-size:10px;margin-top:4px}
.daily-compact{font-size:10px}
.daily-center-cell{text-align:center;vertical-align:middle!important}
.daily-seq-lines{display:flex;flex-direction:column;gap:2px}
.daily-seq-lines span{display:block;white-space:nowrap}
.daily-vc-link{display:inline-block;margin-top:4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.daily-vc-link:hover{color:var(--accent2);text-decoration:underline}
.daily-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.daily-list-total-row{display:grid!important;grid-template-columns:auto minmax(150px,1fr) 82px 82px;align-items:center;gap:8px}
.daily-list-total-row input[type=number]{min-width:0;width:96px;padding:5px 7px}
.daily-list-total-row input[type=number]{width:82px}
.daily-sort-head{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;letter-spacing:inherit;padding:0;cursor:pointer}
.daily-sort-head::after{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-left:6px;opacity:.28;vertical-align:middle}
.daily-sort-head.active{color:var(--accent)}
.daily-sort-head.active::after{opacity:.9}
.markdown-body p{margin:0 0 8px}
.markdown-body p:last-child{margin-bottom:0}
.markdown-body ul{margin:6px 0 8px 18px;padding:0}
.markdown-body li{margin:3px 0}
.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:8px 0 6px;font-family:var(--font-ui);line-height:1.25}
.markdown-body h1{font-size:18px}.markdown-body h2{font-size:15px}.markdown-body h3{font-size:13px}
.markdown-body code{font-family:var(--font-mono);background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:1px 4px}
#page-brief .brief-box{border:0!important;box-shadow:none!important;background:transparent!important;margin:0}
#page-brief .brief-section{border:0!important;padding:0!important}
#page-brief .daily-print-sheet{padding:0 2px}
#page-brief .brief-sec-title{padding-left:2px}
#page-brief .daily-table-wrap{box-shadow:none;border-radius:12px}
.daily-card-title,.brief-sec-title{gap:7px}
.daily-card-title svg,.brief-sec-title svg{width:13px;height:13px;vertical-align:-2px;color:var(--accent)}
.daily-actions .btn{white-space:nowrap}
.appointment-team{display:flex;gap:6px;flex-wrap:wrap}
.task-table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}
.task-table{width:100%;border-collapse:collapse;font-size:12.5px}
.task-table th{background:var(--surface2);border-bottom:1px solid var(--border);padding:9px 10px;text-align:left;font-size:10.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.task-table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.task-table tr:last-child td{border-bottom:none}
.task-title-cell{font-weight:600;color:var(--text)}
.task-notes-cell{display:block;color:var(--text3);font-size:11px;margin-top:3px;line-height:1.4}
.task-actions-cell{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.legal-doc{max-width:794px;margin:0 auto;padding:2cm;font-family:"Times New Roman",Times,serif;font-size:12pt;line-height:1.5;color:#111;background:#fff}
.legal-center{text-align:center}
.legal-heading{font-weight:700;font-size:13pt;letter-spacing:.02em;line-height:1.45}
.legal-gap{margin-top:16px}
.legal-in-matter{text-align:right;font-weight:700}
.legal-versus{font-weight:700;margin:12px 0;text-transform:uppercase}
.legal-title{font-weight:700;text-align:center;margin:20px 0 16px;text-transform:uppercase;letter-spacing:.06em;font-size:14pt}
.legal-side-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0;font-size:12pt}
.legal-party{flex:1;text-align:justify}
.legal-dots{width:140px;min-width:140px;text-align:center;letter-spacing:.08em}
.legal-party-label{min-width:140px;text-align:right}
.legal-table{width:100%;border-collapse:collapse;font-size:11.5pt;margin-top:12px}
.legal-table th,.legal-table td{border:1px solid #222;padding:8px;vertical-align:top}
.legal-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px;padding-top:10px}
.filing-row{display:grid;grid-template-columns:2fr .8fr .8fr 1.6fr auto;gap:8px;margin-bottom:8px}
.letterhead{border-bottom:2px solid #111;padding-bottom:14px;margin-bottom:28px;text-align:center}
.letterhead-name{font-size:19pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.letterhead-meta{font-size:10.5pt;margin-top:3px;color:#333}
.legal-doc{letter-spacing:0}
.legal-heading{text-transform:uppercase;text-align:center;margin-bottom:10px}
.legal-title{text-transform:uppercase}
.legal-subtitle{text-align:center;font-weight:700;margin:0 0 16px;text-transform:uppercase}
.legal-numbered{margin:10px 0 14px 20px;padding-left:16px}
.legal-numbered li{margin-bottom:9px}
.legal-address{text-align:center;margin:14px 0}
.legal-in-matter{text-align:left;text-transform:uppercase;margin-top:20px;margin-bottom:12px}
.legal-side-row{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(130px,180px);gap:12px;align-items:baseline;margin:12px 0}
.legal-party{text-align:left;text-transform:none}
.legal-dots{text-align:center;letter-spacing:2px}
.legal-party-label{text-align:right}
.legal-doc{font-size:11.5pt;line-height:1.25}
.legal-doc p{margin:0 0 10px;line-height:1.25}
.legal-heading{font-size:11.5pt;line-height:1.35;margin-bottom:12px}
.legal-title{font-size:12pt;letter-spacing:0;margin:14px 0 12px;color:#003f62}
.tight-title{margin-top:0;color:#111}
.legal-versus{font-size:11.5pt;margin:14px 0}
.vakalat-para{text-align:justify;text-indent:34px}
.legal-date-line{margin-top:14px!important;text-indent:34px}
.vakalat-accept{margin:14px 0 18px}
.vakalat-sign-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px;align-items:start}
.aor-block{text-align:left}
.client-sign{text-align:center;justify-self:end;min-width:170px}
.memo-rule{border-top:2px solid #111;margin:18px 0 2px}
.memo-title{text-align:center;font-weight:700;color:#003f62}
.memo-indent{margin-left:42px!important}
.memo-sign{text-align:right;margin-top:24px}
.addr-indent{display:inline-block;margin-left:48px}
.letterhead-min{font-size:8.5pt;color:#b88a2f;text-transform:uppercase;margin-bottom:2px}
.form-date-top,.letter-date{text-align:right;margin-bottom:16px}
.re-line{display:grid;grid-template-columns:34px 1fr;gap:12px;margin:26px 0}
.letter-body{text-align:justify;text-indent:48px;margin-top:22px!important}
.letter-close{margin-top:52px!important}
.particulars-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:10.5pt}
.particulars-table td,.particulars-table th{border:0;padding:5px 8px;vertical-align:top;text-align:left}
.particulars-table td:first-child{width:24px;padding-left:0}
.particulars-table th{width:170px;font-weight:700}
.particulars-table td:nth-child(3){width:12px;text-align:center}

/* MODALS */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:300;padding:20px;backdrop-filter:blur(3px)}
.modal.open{display:flex;animation:fadeIn .2s var(--ease)}
.modal-sheet{background:var(--surface);border-radius:var(--r-xl);width:560px;max-width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.25);animation:scaleIn .2s var(--ease)}
.modal-sheet-wide{width:min(960px,100%)}
.modal-head{padding:16px 22px 13px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--surface2)}
.modal-title{font-family:var(--font-display);font-size:19px;font-weight:500;letter-spacing:-.015em}
.modal-close{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-sm);width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;font-weight:500;color:var(--text2);transition:all .12s}
.modal-close svg{display:block}
.modal-close{font-size:0}
.modal-close:hover{background:var(--red-bg);color:var(--red);border-color:var(--red)}
.modal-body{padding:20px 22px;overflow-y:auto;flex:1}
.modal-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0;background:var(--surface2)}
.btn{padding:8px 18px;border-radius:var(--r);font-size:12px;font-weight:500;transition:all .15s}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 3px 10px var(--accent-glow)}
.btn.primary:active{transform:scale(.98)}
.btn.secondary{background:var(--bg2);border:1px solid var(--border);color:var(--text2)}
.btn.secondary:hover{background:var(--bg3);color:var(--text)}
.page-actions .btn,.page-actions .btn.secondary,.page-actions .btn.primary{min-height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;font-weight:650;padding:9px 16px}
.page-actions .btn.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}
.page-actions .btn.secondary:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.icon-only-action{
  width:26px;
  height:26px;
  min-width:26px;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  border-radius:6px;
}
.icon-only-action svg{display:block}
.icon-only-action.icon-delete:hover{color:var(--red);border-color:var(--red)}

.f-row{margin-bottom:14px}
.f-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.f-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px}
.f-row-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
label{display:block;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px;font-weight:600}
label span.req{color:var(--red);margin-left:2px}
input[type=text],input[type=number],input[type=date],input[type=email],input[type=tel],input[type=password],select,textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:8px 12px;font-size:13px;color:var(--text);outline:none;transition:all .15s}
input[type=date],input[type=month],input[type=time]{font-family:var(--font-mono);letter-spacing:.02em}
select[multiple]{min-height:108px;padding:6px}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
textarea{resize:vertical;min-height:72px}
.hint{font-size:10.5px;color:var(--text3);margin-top:4px}
.toggle-row{display:flex;gap:4px}
.toggle-opt{flex:1;text-align:center;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r);cursor:pointer;font-size:12px;color:var(--text2);background:var(--bg);transition:all .12s}
.toggle-opt:hover{border-color:var(--accent);color:var(--accent)}
.toggle-opt.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.f-section-head{font-size:10px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.08em;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}

.repo-tab-strip{display:flex;border-bottom:1px solid var(--border);margin:-4px 0 16px}
.repo-tab{padding:8px 14px;font-size:11.5px;color:var(--text3);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .12s}
.repo-tab:hover{color:var(--text2)}
.repo-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
.repo-tag{display:inline-flex;align-items:center;gap:4px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:3px 10px;font-size:11.5px;color:var(--text2);margin-right:5px;margin-bottom:5px;cursor:pointer;transition:all .12s}
.repo-tag:hover{border-color:var(--accent);color:var(--accent)}
.repo-section-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;margin-bottom:14px}
.repo-section-title{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.repo-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.repo-check{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg)}

/* TOAST */
.toast-container{position:fixed;bottom:44px;left:50%;transform:translateX(-50%);z-index:600;display:flex;flex-direction:column;gap:7px;align-items:center;pointer-events:none}
.toast{background:var(--text);color:var(--bg);padding:9px 16px;border-radius:var(--r);font-size:12px;font-weight:500;box-shadow:0 6px 24px rgba(0,0,0,.2);animation:fadeUp .25s var(--ease);display:flex;align-items:center;gap:8px;pointer-events:auto;white-space:nowrap}
.toast.success{background:var(--green)}
.toast.error{background:var(--red);color:#fff}

/* FOOTER */
.footer{background:var(--surface);border-top:1px solid var(--border);padding:6px 14px;min-height:28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;flex-shrink:0;font-size:9.5px;color:var(--text3)}
.footer{position:static}
.footer-left,.footer-right{display:flex;align-items:center;gap:10px}
.footer-ver{display:flex;align-items:center;gap:5px;font-family:var(--font-mono)}
.fv-name{color:var(--text2);font-weight:500}
.fv-num{color:var(--accent)}
.footer-sep{color:var(--border2)}
.footer-link{color:var(--text3);cursor:pointer;padding:2px 4px;border-radius:3px;transition:color .1s}
.footer-link:hover{color:var(--accent);background:var(--accent-bg)}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 3s infinite}
.footer-status,.footer-saved{display:flex;align-items:center;gap:5px}
.footer-saved{color:var(--green);font-weight:500}
.rp-role,.cc-sub{display:none}

.sitemap-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sm-title{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.sm-link{font-size:12px;color:var(--text2);padding:4px 0;cursor:pointer;transition:all .12s}
.sm-link:hover{color:var(--accent);padding-left:3px}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:var(--text3)}
::selection{background:var(--accent);color:#fff}


@page{size:A4;margin:2cm}
@media print{
  body{overflow:visible;background:#fff;color:#000}
  .login-screen,.announce,.header,.footer,.case-sidebar,.case-rail,.btn-add,.header-right,.backdrop,.modal,.toast-container{display:none!important}
  .main,.page{overflow:visible!important;height:auto!important;padding:0!important}
  .page{display:none!important}
  #page-brief{display:block!important}
  body.print-brief #page-brief{display:block!important}
  body.print-brief #daily-toolbar,
  body.print-brief #page-brief .daily-grid>.daily-card:nth-child(n+2){display:none!important}
  body.print-brief #page-brief .brief-box,
  body.print-brief #page-brief .brief-section{border:none!important;box-shadow:none!important}
  body.print-brief .daily-table th{background:#fff!important}
  body.print-brief .daily-table,.daily-table th,.daily-table td{border-color:#111!important;color:#111!important}
  #page-brief .page-head{margin:0 0 12px 0;padding:0 0 8px 0;border-bottom:1px solid #ddd}
  .brief-box,.brief-section,.today-row,.warn-card{break-inside:avoid;box-shadow:none!important}
  a{color:#000!important;text-decoration:none!important}
}

@media(min-width:769px) and (max-width:1100px){#page-register .page-actions .head-search,#page-tasks .page-actions .head-search,#page-expenses .page-actions .head-search,#page-register .page-actions .head-search:focus,#page-tasks .page-actions .head-search:focus,#page-expenses .page-actions .head-search:focus{width:220px}}
@media(min-width:641px) and (max-width:768px){.header{height:52px;min-height:52px;flex-wrap:nowrap;padding:0}.logo{width:var(--header-left-width);padding:0 18px;border-right:1px solid var(--border);margin-right:0;font-size:20px}.nav-toggle-btn{display:none!important}.header-nav{order:0;width:auto;display:flex;border-top:none;background:transparent;padding:0}.nav-link{min-height:0;padding:0 8px;border-bottom:2px solid transparent}.header-right{border-left:1px solid var(--border);padding-left:12px}.content-action-row .page-actions{flex-wrap:nowrap}.head-search,.head-search:focus{width:auto;max-width:none}.command-btn{min-width:158px}}
@media(max-width:640px){body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.header{padding:0 10px;height:auto;min-height:52px;flex-wrap:wrap}.logo{border-right:none;margin-right:auto;padding-right:8px;font-size:20px;width:auto}.nav-toggle-btn{display:inline-flex!important}.header-nav{order:3;width:100%;display:none;border-top:1px solid var(--border);background:var(--surface2);padding:6px 0}.header-nav.open{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.nav-link{min-height:40px;padding:8px 10px;border-bottom:1px solid var(--border)}.header-right{border-left:none;padding-left:0}.page{padding:16px}.case-rail{display:none}.res-grid,.ov-grid,.sitemap-grid,.f-row-2,.f-row-3,.f-row-4,.represented-party-row{grid-template-columns:1fr}.rt-row{grid-template-columns:70px 1fr 80px 80px}.rt-court,.rt-date,.rt-role{display:none}.modal{padding:10px}.modal-sheet,.modal-sheet-wide{width:100%;max-height:calc(100vh - 20px)}.repo-tab-strip{overflow:auto}.repo-tab{white-space:nowrap}.legal-doc{padding:24px}.legal-side-row{gap:8px}.legal-dots{width:90px;min-width:90px}.legal-party-label{min-width:100px}.page-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.content-action-row .page-actions{flex-wrap:wrap}.content-action-row .page-actions .head-search,.content-action-row .page-actions .head-search:focus{width:100%;min-width:0;flex-basis:100%;max-width:none}.command-btn{min-width:0}.head-search,.head-search:focus{width:100%;max-width:none}#page-register .page-head,#page-tasks .page-head,#page-expenses .page-head{flex-wrap:wrap}.daily-top-row{align-items:flex-start;flex-direction:column}.cal-controls{flex-wrap:wrap}.calendar-main-controls{align-items:flex-start}.cal-show-only{margin-left:0;width:100%}.task-table{min-width:760px}}
@media(max-width:640px){
  .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kpi-card{min-height:136px}
  .kpi-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .daily-table{min-width:760px}
  .daily-table th,.daily-table td{padding:6px 4px;font-size:11px}
  .header-nav.open{position:relative;z-index:30}
  .header-right{gap:6px}
  #page-brief .daily-table thead{display:none}
  #page-brief .daily-table,#page-brief .daily-table tbody,#page-brief .daily-table tr,#page-brief .daily-table td{display:block;width:100%}
  #page-brief .daily-table tr{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;background:var(--surface)}
  #page-brief .daily-table td{border:none;border-bottom:1px dashed var(--border);padding:8px 10px}
  #page-brief .daily-table td:last-child{border-bottom:none}
}
@media(max-width:640px){.logo-wordmark{font-size:16px}.login-brand.stack{font-size:34px}}
@media(max-width:640px){.task-page-row{align-items:flex-start;flex-wrap:wrap}.task-page-body{flex:1 1 calc(100% - 34px)}.task-due-badge,.task-status-badge{margin-left:30px}.task-action-icons{margin-left:30px;opacity:1}.control-bar,.control-bar-row-2{align-items:stretch}.control-group{width:100%}.segmented-control{width:100%;overflow-x:auto;flex-wrap:nowrap}.sort-select{width:100%;min-width:0!important}}

/* DOCKET DESIGN SYSTEM V2 */
:root{
  --page:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f7f6f3;
  --surface2:var(--surface-soft);
  --bg:var(--page);
  --bg2:var(--surface-soft);
  --bg3:#efede8;
  --border:#dedad2;
  --border2:#c9c3b8;
  --text:#171514;
  --text2:#4f4942;
  --text3:#827a70;
  --muted:var(--text3);
  --accent:#7a4b2f;
  --accent2:#5f3924;
  --accent-strong:var(--accent2);
  --accent-soft:#f4eee9;
  --accent-bg:var(--accent-soft);
  --accent-glow:rgba(122,75,47,.16);
  --blue:#1f5fbf;--blue-bg:#edf4ff;
  --green:#167342;--green-bg:#edf8f1;
  --red:#b4232c;--red-bg:#fff0f1;
  --amber:#9b5a10;--amber-bg:#fff6e8;
  --purple:#7350a3;--purple-bg:#f6f1ff;
  --teal:#19716d;--teal-bg:#eef8f7;
  --gray:#6f6b64;--gray-bg:#f2f1ee;
  --gold:var(--amber);--gold-bg:var(--amber-bg);
  --warn:var(--amber);--warn-bg:var(--amber-bg);
  --font-display:"Spectral",Georgia,serif;
  --font-body:"Charter","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-ui:"Inter","Segoe UI",Arial,sans-serif;
  --font-mono:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --header-left-width:218px;
  --header-action-width:218px;
  --r-sm:7px;--r:10px;--r-lg:14px;
}
body.theme-clay{--accent:#7a4b2f;--accent2:#5f3924;--accent-strong:#5f3924;--accent-soft:#f4eee9;--accent-bg:var(--accent-soft);--accent-glow:rgba(122,75,47,.16)}
body.theme-olive{--accent:#556b2f;--accent2:#425421;--accent-strong:#425421;--accent-soft:#eef4e7;--accent-bg:var(--accent-soft);--accent-glow:rgba(85,107,47,.16)}
body.theme-indigo{--accent:#3f4f6b;--accent2:#303d54;--accent-strong:#303d54;--accent-soft:#edf1f7;--accent-bg:var(--accent-soft);--accent-glow:rgba(63,79,107,.16)}
.dark{
  --page:#050505;
  --surface:#0d0d0d;
  --surface-soft:#171717;
  --surface2:var(--surface-soft);
  --bg:var(--page);
  --bg2:var(--surface-soft);
  --bg3:#222;
  --border:#2b2b2b;
  --border2:#3a3a3a;
  --text:#f4f1ea;
  --text2:#c6beb2;
  --text3:#91887a;
  --muted:var(--text3);
  --blue:#77a7ff;--blue-bg:#0d1c34;
  --green:#66d08e;--green-bg:#0d2416;
  --red:#ff747d;--red-bg:#2d1013;
  --amber:#e4aa54;--amber-bg:#2a1b09;
  --purple:#b99aea;--purple-bg:#21152f;
  --teal:#6ed0ca;--teal-bg:#0c2624;
  --gray:#aaa39a;--gray-bg:#1d1d1d;
  --gold:var(--amber);--gold-bg:var(--amber-bg);
  --warn:var(--amber);--warn-bg:var(--amber-bg);
}

html,body{background:var(--page)}
body{font-family:var(--font-body);background:var(--page);color:var(--text)}
button,input,select,textarea,label,.nav-link,.btn,.btn-add,.icon-btn,.filter-chip,.sort-select,.select-input,.footer,.announce{font-family:var(--font-ui)}
.app{min-height:100vh;display:flex;flex-direction:column;background:var(--page)}
.main{flex:1 0 auto;background:var(--page)}
.page{padding:24px 28px}

.announce{height:30px;background:linear-gradient(90deg,var(--accent-strong),var(--accent));padding-right:10px;font-size:11px}
.announce-date{flex:0 0 var(--header-left-width);width:var(--header-left-width);padding:0 20px;font-family:var(--font-display);font-size:14px}
.announce-msg{padding:0 18px}
.announce-edit{margin-left:auto;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:2px 9px}
.announce-close{margin-left:4px;margin-right:2px;border-radius:999px}

.header{height:58px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.logo{width:var(--header-left-width);padding:0 12px;font-size:21px;color:var(--accent);border-right:1px solid var(--border);justify-content:center}
.logo-mark{width:31px;height:31px}
.header-nav{position:relative;align-items:stretch;justify-content:space-evenly;background:var(--surface)}
.modules-label{display:none}
.nav-link{font-size:12px;font-weight:600;color:var(--text2);padding:0 8px;border-bottom:2px solid transparent;border-radius:10px;min-height:38px;margin:7px 4px}
.nav-link:hover{background:var(--surface-soft);color:var(--text)}
.nav-link.active{background:var(--accent-soft);color:var(--accent);border-bottom-color:transparent;font-weight:700;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}
.nav-link.active::before{display:none}
.header-right{width:auto;justify-content:flex-end;padding:0 18px;border-left:1px solid var(--border);gap:8px}
.btn-add{height:34px;min-height:34px;margin-right:0;border-radius:999px;padding:7px 12px;background:var(--accent);font-family:var(--font-ui)}
.icon-btn{background:var(--surface);border-color:var(--border);border-radius:999px}
.avatar-btn{height:36px;background:var(--surface);border-color:var(--border);box-shadow:0 1px 2px rgba(0,0,0,.03)}

.footer{flex-shrink:0;position:static;background:var(--surface);border-top:1px solid var(--border);padding:10px 18px;min-height:38px;font-size:11px}
.footer-left,.footer-right{gap:12px}
.footer-link{font-weight:600;color:var(--text2);padding:4px 8px;border-radius:999px}
.footer-link:hover{background:var(--accent-soft);color:var(--accent)}
.footer-ver{font-family:var(--font-ui);font-weight:600}
.fv-name{color:var(--text)}
.fv-num{color:var(--accent)}

.kpi-row,.exp-kpi,.kpi-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin:0 0 20px!important;padding:0!important;background:transparent!important}
.kpi-card{min-height:76px;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:8px!important;padding:14px 16px!important;box-shadow:0 1px 2px rgba(0,0,0,.04)!important;border-top:3px solid var(--accent)!important;overflow:hidden}
.kpi-card::before{display:none}
.kpi-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 8px 24px rgba(0,0,0,.08)}
.kpi-card.kpi-active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 75%,#fff),var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))!important}
.kpi-label{font-family:var(--font-ui)!important;font-size:10px!important;font-weight:650!important;color:var(--text3)!important;letter-spacing:.09em!important;margin-bottom:7px!important}
.kpi-val,.kpi-value{font-family:var(--font-display)!important;font-size:28px!important;font-weight:650!important;color:var(--accent)}
.kpi-val.green,.green,.kpi-card:has(.kpi-val.green){--kpi-color:var(--green)}
.kpi-card:has(.kpi-val.green){border-top-color:var(--green)}
.kpi-card:has(.kpi-val.warn),.kpi-card:has(.kpi-val.gold){border-top-color:var(--amber)}
.kpi-card:has(.kpi-label:first-child){position:relative}
.kpi-sub{font-family:var(--font-ui);font-size:10.5px;color:var(--muted)}

.content-action-row{margin-bottom:12px}
.content-action-row .page-actions{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:8px!important;padding:10px!important;box-shadow:0 1px 2px rgba(0,0,0,.03)!important}
.search-input{height:42px!important;min-height:42px!important;border-radius:8px!important;background-color:var(--surface)!important;border-color:var(--border)!important;font-family:var(--font-ui)!important;font-weight:600!important;color:var(--text)!important}
.search-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.command-btn,.btn.primary,.btn-primary,.page-actions .btn{border-radius:8px!important;font-family:var(--font-ui)!important;font-weight:650!important;letter-spacing:.01em!important}
.btn.primary,.btn-primary,.command-btn{background:var(--accent)}
.btn.secondary{background:var(--surface);border-color:var(--border);border-radius:999px}

.control-bar,.control-bar-row-2,.exp-toolbar{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:8px!important;padding:10px 12px!important;margin-bottom:16px!important;box-shadow:0 1px 2px rgba(0,0,0,.03)!important}
.control-group,.exp-toolbar-group{display:flex!important;align-items:center!important;gap:8px!important;flex-direction:row!important}
.control-label,.control-select-group label,.exp-toolbar-group label{font-family:var(--font-ui);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.09em;color:var(--text3);margin:0}
.segmented-control,.filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.filter-chip,.chip,.cal-today-btn,.view-btn,.icon-toggle{min-height:32px!important;border-radius:8px!important;border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--text2)!important;font-family:var(--font-ui)!important;font-size:11.5px!important;font-weight:650!important;padding:6px 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;box-shadow:0 1px 1px rgba(0,0,0,.02)!important}
.filter-chip::before,.chip::before,.cal-today-btn::before{content:'';width:6px;height:6px;border-radius:999px;background:var(--border2)}
.filter-chip:hover,.chip:hover,.cal-today-btn:hover,.view-btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.filter-chip.active,.chip.active,.cal-today-btn.active,.view-btn.active,.icon-toggle.active{background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)!important}
.filter-chip.active::before,.chip.active::before,.cal-today-btn.active::before{background:var(--accent)}
.sort-select,.select-input,.control-shadow-select,input[type=text],input[type=number],input[type=date],input[type=email],input[type=tel],input[type=password],select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-ui)}
.sort-select{min-height:32px!important;font-size:11.5px!important;font-weight:650!important;padding:6px 28px 6px 10px!important}

.control-bar .control-spacer{flex:1 1 auto}
.control-bar .view-toggle{margin-left:auto}
.calendar-main-controls .cal-show-only{order:2}
.calendar-main-controls .view-toggle{order:3;margin-left:auto}
.search-input.head-search{border-radius:10px!important}
.view-btn,.icon-btn,.btn-add{border-radius:10px!important}

.fab-shell{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fab-trigger{width:52px;height:52px;border:none;border-radius:16px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 26px rgba(0,0,0,.2),0 3px 6px rgba(0,0,0,.14);cursor:pointer;transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.fab-trigger:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(0,0,0,.24),0 5px 8px rgba(0,0,0,.15)}
.fab-trigger .icon{width:20px;height:20px;stroke-width:1.8}
.fab-menu{display:none;min-width:198px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.16)}
.fab-shell.open .fab-menu{display:block;animation:fabIn .14s ease-out}
.fab-item{width:100%;display:flex;align-items:center;gap:9px;background:transparent;border:none;border-radius:10px;padding:8px 10px;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;text-align:left}
.fab-item:hover{background:var(--accent-soft);color:var(--accent)}
.fab-item .icon-wrap{width:22px;height:22px;border-radius:7px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-soft)}
@keyframes fabIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.fab-shell{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));transform:none}}
@media(max-width:640px){.fab-trigger{width:48px;height:48px;border-radius:14px}.fab-menu{min-width:182px}}

#page-calendar .daily-top-row .page-actions{
  display:none!important;
}

/* Final polish pass */
:root{--header-left-width:122px}
.announce-date{padding:0 8px!important}
.logo{width:var(--header-left-width)!important}
.logo-mark{width:38px!important;height:38px!important}
.logo-mark-header rect{fill:var(--accent)!important}
.logo-mark-header path{stroke:#fff!important}
.dark .logo-mark-header rect{fill:#fff!important}
.dark .logo-mark-header path{stroke:var(--accent)!important}
.login-logo-badge{width:66px;height:66px}
.login-logo-badge .logo-mark{width:42px;height:42px}
.login-brand.stack{font-size:40px}
.login-brand{font-family:var(--font-display)!important}
.login-logo-badge{background:#364667!important}
.login-logo-badge .logo-mark rect{fill:#fff!important}
.login-logo-badge .logo-mark path{stroke:#364667!important}

.header-nav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:0 4px}
.nav-link{width:100%;justify-content:center!important}

#page-register .content-action-row,
#page-tasks .content-action-row,
#page-expenses .content-action-row{display:none}

.control-bar,.control-bar-row-2,.exp-toolbar{
  border:none!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}
#register-filters,#tasks-toolbar,#expenses-toolbar{
  display:grid!important;
  grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(0,auto)) auto;
  align-items:center!important;
  column-gap:10px!important;
  row-gap:8px!important;
}
#register-filters,#tasks-toolbar,#expenses-toolbar{grid-template-columns:minmax(280px,1fr) repeat(4,minmax(0,auto)) auto!important}
.search-input.head-search{max-width:420px!important}
#register-filters .control-group{display:none!important}
#register-filters #reg-filter-court,#register-filters #reg-filter-role{display:inline-flex!important;min-height:34px;border-radius:10px}
#tasks-toolbar{grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(0,auto)) auto}
#expenses-toolbar{grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(0,auto)) auto}

.search-input.head-search{width:100%!important;min-width:0!important}
.search-input.head-search::placeholder{color:transparent}
.search-input.head-search::-webkit-input-placeholder{color:transparent}
.search-input.head-search::-moz-placeholder{color:transparent}
.content-action-row .page-actions{display:none!important}

.calendar-main-controls{display:flex;align-items:center;gap:8px}
.calendar-main-controls .cal-nav-btn:first-child{order:1}
.calendar-main-controls #cal-date-picker{order:2}
.calendar-main-controls .cal-nav-btn:nth-child(2){order:3}
.calendar-main-controls .cal-group{order:4}
.calendar-main-controls .view-toggle{margin-left:auto!important}
.cal-show-label{display:none!important}
.calendar-main-controls{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important}

@media(max-width:1240px){
}
@media(max-width:980px){
}

/* Uniform font for filters/controls across portal */
.control-bar,.control-bar *,.exp-toolbar,.exp-toolbar *,.cal-controls,.cal-controls *,.daily-toolbar-row,.daily-toolbar-row *,.filter-chip,.sort-select,.view-btn,.control-shadow-select,.search-input{
  font-family:var(--font-ui)!important;
}
body, .page, .main, .cal-grid, .cal-day, .cd-num, .cd-event, .cal-dow, .calendar-summary, .cal-group, .nav-link, .kpi-label, .kpi-val, .daily-card-title{
  font-family:var(--font-ui)!important;
}

/* Font rationalization: only Domine + Roboto across portal UI */
@import url('https://fonts.googleapis.com/css2?family=Domine:wght@400;600;700&family=Roboto:wght@400;500;700&display=swap');
:root{
  --font-display:"Domine",Georgia,serif!important;
  --font-ui:"Roboto","Segoe UI",Arial,sans-serif!important;
  --font-mono:"Roboto","Segoe UI",Arial,sans-serif!important;
}
.view-btn,.filter-chip,.sort-select,.control-bar select,input[type=month],input[type=date]{border-radius:10px!important}
.control-shadow-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}

.register-table,.task-table-wrap,.daily-table-wrap,.ctable-wrap{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.rt-row,.task-page-row,.task-row,.daily-row,.daily-brief-row,.upcoming-row,.today-row,.reminder-row{background:var(--surface);border-color:var(--border)}
.rt-row.head,.task-table th,.daily-table th,.ctable th{background:var(--surface-soft);color:var(--text3);font-family:var(--font-ui);font-weight:650;letter-spacing:.08em}
.rt-row:not(.head):hover,.task-page-row:hover,.task-row:hover,.daily-row:hover,.daily-brief-row:hover{background:var(--surface-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));transform:none}
.rt-row.rt-status-disposed{background:var(--surface);border-left:3px solid var(--red)}
.rt-row.rt-status-pending{background:var(--surface);border-left:3px solid var(--green)}
.rt-row.rt-status-action{background:var(--surface);border-left:3px solid var(--amber)}
.task-page-row.overdue,.tm-check.overdue{border-color:color-mix(in srgb,var(--red) 38%,var(--border))}
.task-page-row.overdue{background:var(--surface);border-left:3px solid var(--red)}
.task-page-row.task-status-done{background:var(--surface);border-left:3px solid var(--green)}
.task-page-row.task-status-review{background:var(--surface);border-left:3px solid var(--amber)}
.task-page-row.task-status-closed{background:var(--surface);border-left:3px solid var(--gray)}
.expense-row.exp-status-pending{background:var(--surface);border-left:3px solid var(--amber)}
.expense-row.exp-status-reimbursed,.expense-row.exp-status-approved{background:var(--surface);border-left:3px solid var(--green)}
.expense-row.exp-status-closed{background:var(--surface);border-left:3px solid var(--gray)}
.task-check.checked,.tr-check.done{background:var(--green);border-color:var(--green)}
.trb-done,.status-done,.badge-reimbursed,.eb-approved,.eb-reimbursed{background:var(--green-bg);color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,var(--border))}
.trb-open,.status-open,.badge-pending,.eb-pending{background:var(--amber-bg);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 35%,var(--border))}
.trb-blocked,.badge-overdue{background:var(--red-bg);color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,var(--border))}
.rt-status-chip,.tr-badge,.exp-badge,.daily-list-chip,.daily-brief-pill,.phase-badge,.task-due-badge,.task-status-badge,.badge,.status-badge{min-width:86px;min-height:22px;border-radius:7px;border:1px solid currentColor;font-family:var(--font-ui);font-size:10px;font-weight:650;letter-spacing:.03em;padding:3px 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;text-align:center;white-space:nowrap}
.rt-status-chip::before,.tr-badge::before,.exp-badge::before,.daily-list-chip::before,.phase-badge::before,.badge::before,.status-badge::before{content:'';width:5px;height:5px;border-radius:999px;background:currentColor}
.sc-disposed{background:var(--red-bg);color:var(--red)}
.sc-pending{background:var(--green-bg);color:var(--green)}
.sc-admission,.sc-partheard,.phase-badge.open{background:var(--amber-bg);color:var(--amber)}
.sc-reserved{background:var(--purple-bg);color:var(--purple)}

.daily-card,.dash-card,.res-card,.ov-card,.hearing-card{background:var(--surface);border-color:var(--border);box-shadow:0 1px 2px rgba(0,0,0,.03)}
.daily-card-title,.brief-sec-title,.dc-header,.rc-head,.rail-title,.repo-section-title{font-family:var(--font-ui);font-weight:650;letter-spacing:.08em;color:var(--text2)}
.daily-row{background:linear-gradient(90deg,var(--blue-bg),var(--surface) 36%);border-left:3px solid var(--blue)}
.daily-list-chip.chip-hearing,.cd-event.hearing,.cd-event.court{background:var(--blue-bg);color:var(--blue);border-color:var(--blue)}
.daily-list-chip.chip-appointment,.cd-event.appointment{background:var(--purple-bg);color:var(--purple);border-color:var(--purple)}
.daily-list-chip.chip-tasks_due,.cd-event.tasks_due,.cd-event.deadline{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}
.daily-list-chip.chip-holiday,.cd-event.holiday{background:var(--gray-bg);color:var(--gray);border-color:var(--gray)}
.daily-table{color:var(--text)}
.daily-table th{color:var(--text3)}

.cal-grid,.calendar-grid{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.cal-day{background:var(--surface);border-color:var(--border)}
.cal-day.out{background:var(--surface-soft);color:var(--text3)}
.cal-day.today{box-shadow:inset 0 0 0 2px var(--accent)}
.cal-dow{font-family:var(--font-ui);font-weight:650;color:var(--text3);background:var(--surface-soft)}
.cd-event{border-radius:8px;border-left:3px solid currentColor;font-family:var(--font-ui);font-weight:600;font-size:11px!important;line-height:1.2;padding:3px 6px!important}

.action-icon{border-radius:999px;background:var(--surface);box-shadow:0 1px 1px rgba(0,0,0,.03)}
.action-icon:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.action-icon.danger:hover{background:var(--red-bg);border-color:var(--red);color:var(--red)}

@media(min-width:769px){
  .header-right{min-width:var(--header-action-width)}
}
@media(max-width:1100px){
  .header-right{width:auto;min-width:0}
  .modules-label{display:none}
}
@media(min-width:641px) and (max-width:768px){
  .header{height:58px;min-height:58px}
  .logo{width:var(--header-left-width);padding:0 18px;font-size:20px}
  .header-right{width:auto}
}
@media(max-width:640px){
  .announce-date{display:none}
  .announce-sep{display:none}
  .announce-msg{padding-left:12px}
  .header{padding:0 10px;min-height:58px}
  .logo{width:auto;padding:0 8px 0 0;font-size:19px}
  .logo-mark{width:29px;height:29px}
  .header-right{width:auto;padding:0;gap:4px}
  .btn-add{padding:7px 10px}
  .modules-label{display:none}
  .header-nav.open{display:grid;grid-template-columns:1fr 1fr;border-radius:0 0 14px 14px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
  .nav-link{justify-content:flex-start}
  .kpi-row,.exp-kpi,.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .content-action-row .page-actions{padding:9px}
  .footer{align-items:flex-start}
  .footer-left,.footer-right{width:100%;justify-content:space-between}
}

.dark .rt-row.rt-status-disposed,
.dark .rt-row.rt-status-pending,
.dark .rt-row.rt-status-action,
.dark .task-page-row.overdue,
.dark .task-page-row.task-status-done,
.dark .task-page-row.task-status-review,
.dark .task-page-row.task-status-closed,
.dark .expense-row.exp-status-pending,
.dark .expense-row.exp-status-reimbursed,
.dark .expense-row.exp-status-approved,
.dark .expense-row.exp-status-closed{
  background:var(--surface)!important;
}
.dark .kpi-card.kpi-active{
  background:var(--surface)!important;
}

/* QUICK SPRINT STABILIZATION */
@media(min-width:641px){
  .header{
    display:grid!important;
    grid-template-columns:minmax(280px,var(--header-left-width)) minmax(0,1fr) auto!important;
    padding:0!important;
  }
  .logo{width:auto!important;min-width:0!important}
  .header-nav{
    min-width:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-wrap:nowrap!important;
  }
  .nav-link{
    min-width:0!important;
    flex:0 1 auto!important;
    white-space:nowrap!important;
  }
  .header-right{
    width:auto!important;
    min-width:0!important;
    position:relative!important;
    z-index:3!important;
    background:var(--surface)!important;
  }
}
@media(min-width:641px) and (max-width:1180px){
  .logo{font-size:18px!important;padding-inline:12px!important}
  .logo-mark{width:27px!important;height:27px!important}
  .nav-link{font-size:10.5px!important;padding-inline:6px!important}
  .header-right{min-width:206px!important;padding-inline:8px!important}
  .btn-add{padding-inline:10px!important}
}
.nav-toggle-btn{display:none!important}
@media(max-width:640px){.nav-toggle-btn{display:inline-flex!important}}

.search-input.head-search{
  background-color:var(--surface)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23827a70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:14px center!important;
  background-size:15px 15px!important;
  padding-left:40px!important;
}
.dark .search-input.head-search{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2391887a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important;
}
.content-action-row .page-actions{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
}
.content-action-row .command-btn{
  min-width:148px!important;
  height:42px!important;
  white-space:nowrap!important;
}
.control-spacer{flex:1 1 auto}
.view-toggle{margin-left:auto;display:flex;gap:6px}
.view-btn{width:34px!important;padding:0!important}
.control-select-group:has(#tasks-sort),
.control-select-group:has(#exp-sort-select){display:none!important}
input[type=date],input[type=month],.sort-select,.control-bar select{
  font-family:var(--font-ui)!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}

body:not(.dark) .rt-row.rt-status-disposed{background:color-mix(in srgb,var(--red-bg) 58%,var(--surface))!important}
body:not(.dark) .rt-row.rt-status-pending{background:color-mix(in srgb,var(--green-bg) 42%,var(--surface))!important}
body:not(.dark) .rt-row.rt-status-action{background:color-mix(in srgb,var(--amber-bg) 52%,var(--surface))!important}
body:not(.dark) .task-page-row.overdue{background:color-mix(in srgb,var(--red-bg) 58%,var(--surface))!important}
body:not(.dark) .task-page-row.task-status-done{background:color-mix(in srgb,var(--green-bg) 45%,var(--surface))!important}
body:not(.dark) .task-page-row.task-status-review{background:color-mix(in srgb,var(--amber-bg) 52%,var(--surface))!important}
body:not(.dark) .task-page-row.task-status-closed{background:color-mix(in srgb,var(--gray-bg) 60%,var(--surface))!important}
body:not(.dark) .expense-row.exp-status-pending{background:color-mix(in srgb,var(--amber-bg) 52%,var(--surface))!important}
body:not(.dark) .expense-row.exp-status-reimbursed,
body:not(.dark) .expense-row.exp-status-approved{background:color-mix(in srgb,var(--green-bg) 45%,var(--surface))!important}
body:not(.dark) .expense-row.exp-status-closed{background:color-mix(in srgb,var(--gray-bg) 60%,var(--surface))!important}

.register-table.hide-status-col .rt-row{grid-template-columns:80px 2fr 120px 110px 110px}
.register-table.hide-status-col .rt-row>:nth-child(4){display:none!important}
.register-table.hide-next-col .rt-row{grid-template-columns:80px 2fr 120px 120px 110px}
.register-table.hide-next-col .rt-row>:nth-child(6){display:none!important}
.register-table.hide-prev-col .rt-row{grid-template-columns:80px 2fr 120px 120px 110px}
.register-table.hide-prev-col .rt-row>:nth-child(5){display:none!important}
.register-table.hide-status-col.hide-next-col .rt-row,
.register-table.hide-status-col.hide-prev-col .rt-row{grid-template-columns:80px 2fr 120px 110px}
.exp-table-wrap.hide-status-col .exp-table th:nth-child(6),
.exp-table-wrap.hide-status-col .exp-table td:nth-child(6){display:none!important}
#tasks-list.hide-status-col .task-status-badge{display:none!important}
.status-select{
  min-width:96px;
  min-height:24px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface);
  color:var(--text);
  font:750 10px var(--font-ui);
  padding:3px 8px;
}

.register-table.view-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.register-table.view-grid .rt-row.head{display:none}
.register-table.view-grid .rt-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"file matter status" "court role status" "prev next next";
  align-items:start;
  gap:8px 12px;
  border:1px solid var(--border);
  border-left-width:3px;
  border-radius:10px;
  padding:13px;
}
.register-table.view-grid .rt-file{grid-area:file}
.register-table.view-grid .rt-matter-cell{grid-area:matter;width:100%}
.register-table.view-grid .rt-court{grid-area:court}
.register-table.view-grid .rt-row>:nth-child(4){grid-area:status;justify-self:end}
.register-table.view-grid .rt-prev-date{grid-area:prev}
.register-table.view-grid .rt-next-date{grid-area:next;justify-self:end;text-align:right}
.register-table.view-grid .rt-grid-role{display:inline-flex;grid-area:role;justify-self:end;color:var(--accent);font:650 10px var(--font-ui);text-transform:uppercase;letter-spacing:.04em;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:999px;padding:3px 8px}
.register-table:not(.view-grid) .rt-grid-role,.rt-date-label{display:none}
.register-table.view-grid .rt-date-label{display:block;font:650 9px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text3);margin-bottom:3px}
.register-table.view-grid .rt-case{font-size:13px;line-height:1.35}
.register-table.view-grid .rt-reg{margin-top:5px}
#tasks-list.view-grid .task-list-view{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
  gap:12px;
}
#tasks-list.view-grid .task-page-row{align-items:flex-start;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"check body due" "check body status" "actions actions actions";gap:10px 12px;padding:14px}
#tasks-list.view-grid .task-check{grid-area:check}
#tasks-list.view-grid .task-page-body{grid-area:body}
#tasks-list.view-grid .task-due-badge{grid-area:due;margin:0}
#tasks-list.view-grid .task-status-badge{grid-area:status;margin:0}
#tasks-list.view-grid .task-action-icons{grid-area:actions;justify-content:flex-end;opacity:1;border-top:1px solid var(--border);padding-top:9px;width:100%}
.task-cat-label{display:inline-flex;align-items:center;justify-content:center;margin-right:8px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:999px;padding:2px 7px;color:var(--accent);font:700 9.5px var(--font-ui);text-transform:uppercase;letter-spacing:.05em;vertical-align:1px}
.task-page-matter{margin-top:5px;font-size:11.5px;font-weight:600;color:var(--text2)}
#tasks-list.view-grid .task-page-title{font-size:13px}
#tasks-list.view-grid .task-page-notes{margin-top:8px;padding:8px 10px;background:var(--surface-soft);border-radius:7px}

.rt-status-chip,.tr-badge,.exp-badge,.task-due-badge,.task-status-badge,.daily-list-chip,.phase-badge,.badge,.status-badge{
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.task-cat-label,.rt-grid-role,.filter-chip.active{
  background:color-mix(in srgb,var(--accent-bg) 72%,var(--surface));
}
.repo-tag{
  border-radius:8px!important;
  padding:6px 9px!important;
  background:var(--surface-soft)!important;
  border-color:color-mix(in srgb,var(--accent) 22%,var(--border))!important;
}
.exp-table-wrap.view-grid{
  background:transparent;
  border:0;
  box-shadow:none;
}
.exp-table-wrap.view-grid .exp-table,
.exp-table-wrap.view-grid .exp-table tbody,
.exp-table-wrap.view-grid .exp-table tr,
.exp-table-wrap.view-grid .exp-table td{display:block}
.exp-table-wrap.view-grid .exp-table thead{display:none}
.exp-table-wrap.view-grid .exp-table tbody{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:12px;
}
.exp-table-wrap.view-grid .expense-row{
  border:1px solid var(--border);
  border-left-width:3px;
  border-radius:10px;
  padding:12px;
}
.exp-table-wrap.view-grid .expense-row td{padding:5px 0;border:0}

.tm-meta{
  margin-top:3px;
  color:var(--text3);
  font:650 10px var(--font-ui);
}
@media(max-width:640px){
  .content-action-row .page-actions{grid-template-columns:1fr!important}
  .content-action-row .command-btn{width:100%!important}
}

/* ============================================================
   FORM FIELDS STYLING (WEEK 1)
   ============================================================ */
  display:flex;
  flex-direction:column;
  gap:15px;
  padding:15px;
  background:#fafafa;
  border-radius:4px;
}
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px;
}
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  gap:8px;
}
  min-width:126px;
}
  width:100%;
}
  align-items:end;
}
  min-width:126px;
}
@media(max-width:1100px){
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.form-field label{
  font-weight:500;
  font-size:.9rem;
  color:#333;
  text-transform:none;
  letter-spacing:0;
}
.form-field input,
.form-field textarea,
.form-field select{
  padding:10px;
  border:1px solid #ddd;
  border-radius:4px;
  font-family:inherit;
  font-size:1rem;
  line-height:1.4;
  background:#fff;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus{
  outline:none;
  border-color:#0066cc;
  box-shadow:0 0 0 3px rgba(0,102,204,.1);
}
.form-field textarea{
  resize:vertical;
  min-height:100px;
}
.form-checkbox{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
}
.form-checkbox input[type="checkbox"]{
  width:18px;
  height:18px;
  cursor:pointer;
  margin:0;
}
.form-checkbox label{
  margin:0;
  cursor:pointer;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
}

/* ============================================================
   FORM DISPLAY/PREVIEW STYLING (WEEK 1)
   ============================================================ */
.form-section{
  margin-bottom:20px;
  page-break-inside:avoid;
}
.form-section h3{
  border-bottom:2px solid #000;
  padding-bottom:8px;
  margin-bottom:12px;
  font-size:1.1rem;
  font-weight:700;
  text-transform:uppercase;
}
.form-table{
  width:100%;
  border-collapse:collapse;
  margin:12px 0;
}
.form-table td,
.form-table th{
  border:1px solid #000;
  padding:8px 10px;
  text-align:left;
  font-size:.95rem;
}
.form-table td:nth-child(1),
.form-table th:nth-child(1){
  width:5%;
}
.signature-block{
  margin-top:30px;
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.signature-block div{
  flex:1;
  border-top:1px solid #000;
  padding-top:50px;
  text-align:center;
  font-size:.95rem;
}
.left-sign{text-align:left}
.right-sign{text-align:right}
.indent{margin-left:40px}
.letterhead{
  text-align:center;
  padding:20px 0;
  border-bottom:2px solid #000;
  margin-bottom:30px;
  font-weight:700;
}
.letter-date{
  text-align:right;
  margin-bottom:20px;
}
.re-line{
  margin:20px 0;
  font-weight:700;
}
.re-line strong{
  display:inline-block;
  margin-right:10px;
}
.letter-body{line-height:1.6}
.numbered-list{
  margin:12px 0 12px 20px;
  padding-left:20px;
}
.numbered-list li{
  margin-bottom:8px;
  line-height:1.5;
}

/* ============================================================
   PRINT STYLES (WEEK 1)
   ============================================================ */
@media print{
  .page-head,
  .exp-toolbar,
  .btn,
  .daily-card-title{
    display:none!important;
  }
  .daily-card{
    border:none!important;
    box-shadow:none!important;
    break-inside:avoid;
  }
  .legal-doc{
    max-width:100%;
    padding:0;
    margin:0;
    box-shadow:none;
    border:none;
  }
  .form-section{page-break-inside:avoid}
  body{
    font-family:"Times New Roman",serif;
    font-size:12pt;
    line-height:1.5;
  }
}

:root{--header-left-width:196px;--header-left-pad:10px}
.announce-date{
  flex:0 0 var(--header-left-width)!important;
  width:var(--header-left-width)!important;
  padding:0 var(--header-left-pad)!important;
  white-space:nowrap!important;
  line-height:1!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.logo{
  width:var(--header-left-width)!important;
  min-width:var(--header-left-width)!important;
  padding:0 var(--header-left-pad)!important;
  border-right:1px solid var(--border)!important;
}

@media(max-width:900px){
  :root{--header-left-width:168px;--header-left-pad:8px}
  .announce-date{font-size:12px!important}
}
@media(max-width:640px){
  :root{--header-left-width:150px;--header-left-pad:7px}
  .announce-date{font-size:11px!important}
  .header-nav{z-index:3}
  .nav-link{position:relative;z-index:3}
}

@media(min-width:641px) and (max-width:1180px){
  .header{grid-template-columns:56px minmax(0,1fr) auto!important;overflow:hidden}
  .logo{width:56px!important;min-width:56px!important;padding:0 6px!important;justify-content:center}
  .logo-wordmark{display:none!important}
  .header-nav{display:flex!important;min-width:0!important;overflow:hidden!important;padding:0!important;gap:2px!important;justify-content:flex-start!important}
  .nav-link{flex:1 1 0!important;min-width:0!important;max-width:142px!important;margin:7px 1px!important;padding:0 4px!important;font-size:11px!important;gap:3px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .nav-link svg,.nav-rupee{display:none!important}
  .header-right{width:auto!important;min-width:0!important;max-width:none!important;padding:0 6px!important;gap:4px!important}
  .header-right .btn-add,.header-right .icon-btn,.header-right .avatar-btn{width:34px!important;min-width:34px!important;height:34px!important;padding:0!important}
  #current-name{display:none!important}
}

@media(min-width:641px) and (max-width:860px){
  .nav-link{font-size:0!important}
  .nav-link svg,.nav-rupee{display:inline-flex!important;font-size:13px!important}
}

#expenses-toolbar{grid-template-columns:minmax(260px,1fr) auto auto!important;align-items:center!important}
#expenses-toolbar #exp-type-chips{display:inline-flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important}
#expenses-toolbar .filter-chip{white-space:nowrap!important}
#expenses-toolbar .control-group{min-width:0!important}

.header-nav{display:flex!important;justify-content:flex-start!important;padding-left:0!important;gap:4px!important}
.nav-link{flex:0 1 auto!important;min-width:0!important;max-width:164px!important;overflow:hidden!important;text-overflow:ellipsis!important}

@media(min-width:641px) and (max-width:1180px){
  .nav-link{flex:1 1 0!important;max-width:142px!important}
}

@media(max-width:900px){
  #expenses-toolbar{grid-template-columns:1fr!important}
  #expenses-toolbar #exp-type-chips{flex-wrap:wrap!important}
}
/* 26.14 UI consistency pass */
.header-nav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important}
.nav-link{min-width:0!important;padding-inline:6px!important}
.filter-chip::before,.chip::before,.cal-today-btn::before{display:none!important}
.kpi-card{background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface))!important;border-color:color-mix(in srgb,var(--accent) 25%,var(--border))!important}
.dark .kpi-card{background:color-mix(in srgb,var(--accent-soft) 24%,var(--surface))!important}
.control-bar .view-toggle,#tasks-toolbar .view-toggle,#expenses-toolbar .view-toggle,.calendar-main-controls .view-toggle{margin-left:auto!important;justify-self:end}
input[type=date],input[type=month],.sort-select,.control-bar select{background:var(--surface-soft)!important;border-color:var(--border)!important;height:36px}
.footer-link{display:inline-flex!important;align-items:center!important;gap:6px!important}

/* 26.14 cohesive polish pass - final layer */
:root{--header-left-width:78px!important;--header-left-pad:8px!important}
.header{display:grid!important;grid-template-columns:78px minmax(0,1fr) auto!important;overflow:hidden!important}
.logo{width:78px!important;min-width:78px!important;padding:0 8px!important;justify-content:center!important}
.header-nav{display:grid!important;grid-template-columns:repeat(6,minmax(84px,1fr))!important;gap:3px!important;min-width:0!important;overflow:hidden!important;padding:0 4px!important}
.nav-link{max-width:none!important;min-width:0!important;width:auto!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin:7px 1px!important;border-radius:8px!important;font-size:12px!important}
.header-right{flex-shrink:0!important;max-width:max-content!important}
@media(min-width:641px) and (max-width:980px){
  .header-nav{grid-template-columns:repeat(6,minmax(42px,1fr))!important}
  .nav-link{font-size:0!important;padding-inline:4px!important}
  .nav-link svg,.nav-rupee{display:inline-flex!important;font-size:14px!important}
}

.filter-chip,.chip,.cal-today-btn{
  border-radius:8px!important;
  min-height:34px!important;
  background:var(--surface-soft)!important;
  border:1px solid var(--border)!important;
  color:var(--text2)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.03)!important;
}
.filter-chip:hover,.chip:hover,.cal-today-btn:hover{
  background:color-mix(in srgb,var(--accent-soft) 65%,var(--surface))!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border))!important;
}
.filter-chip.active,.chip.active,.cal-today-btn.active{
  background:var(--accent)!important;
  color:#fff!important;
  border-color:var(--accent)!important;
  box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 22%,transparent)!important;
}
.view-toggle{margin-left:auto!important;justify-self:end!important;display:flex!important;gap:6px!important}
.control-bar,#tasks-toolbar,#expenses-toolbar{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto auto!important;align-items:center!important}
.calendar-main-controls{display:flex!important;align-items:center!important;width:100%!important}
.calendar-main-controls .view-toggle{margin-left:auto!important}
input[type=date],input[type=month],input[type=time],.sort-select,.control-bar select,.control-shadow-select{
  height:38px!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,var(--surface),var(--surface-soft))!important;
  border:1px solid var(--border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(0,0,0,.03)!important;
}

.kpi-card{background:var(--surface)!important;border-top-width:4px!important}
#tasks-kpi-open-card,#tasks-kpi-overdue-card,#reg-kpi-disposed-card{background:color-mix(in srgb,var(--red-bg) 72%,var(--surface))!important;border-color:color-mix(in srgb,var(--red) 38%,var(--border))!important;border-top-color:var(--red)!important}
#tasks-kpi-today-card,#reg-kpi-pending-card,#reg-kpi-filed-card,#expenses-kpi-pending-card{background:color-mix(in srgb,var(--amber-bg) 72%,var(--surface))!important;border-color:color-mix(in srgb,var(--amber) 38%,var(--border))!important;border-top-color:var(--amber)!important}
#tasks-kpi-done-week-card,#reg-kpi-active-card,#expenses-kpi-reimbursed-card{background:color-mix(in srgb,var(--green-bg) 58%,var(--surface))!important;border-color:color-mix(in srgb,var(--green) 34%,var(--border))!important;border-top-color:var(--green)!important}
#reg-kpi-total-card{background:var(--surface)!important;border-color:var(--border)!important;border-top-color:var(--accent)!important}
#reg-kpi-reserved-card,#kpi-hearings-week,#kpi-active{border-top-color:var(--accent)!important}
.dark #tasks-kpi-open-card,.dark #tasks-kpi-overdue-card,.dark #reg-kpi-disposed-card{background:color-mix(in srgb,var(--red-bg) 34%,var(--surface))!important}
.dark #tasks-kpi-today-card,.dark #reg-kpi-pending-card,.dark #reg-kpi-filed-card,.dark #expenses-kpi-pending-card{background:color-mix(in srgb,var(--amber-bg) 34%,var(--surface))!important}
.dark #tasks-kpi-done-week-card,.dark #reg-kpi-active-card,.dark #expenses-kpi-reimbursed-card{background:color-mix(in srgb,var(--green-bg) 28%,var(--surface))!important}
.dark #reg-kpi-total-card{background:var(--surface)!important}

.tasks-data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;font-size:12px}
.tasks-data-table th,.tasks-data-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}
.tasks-data-table th{background:var(--surface-soft);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);font-weight:700}
.tasks-data-table tr:last-child td{border-bottom:0}
.task-table-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.table-actions{opacity:1!important;justify-content:flex-end}
#tasks-list .task-list-view{display:none}
#tasks-list.view-grid .task-table-view{display:none}
#tasks-list.view-grid .task-list-view{display:grid}
@media(max-width:760px){
  .tasks-data-table{min-width:760px}
  .task-table-view{overflow:auto}
  .control-bar,#tasks-toolbar,#expenses-toolbar{grid-template-columns:1fr!important}
}

/* Matter page cleanup */
.announce{height:32px!important}
.announce-date{flex:0 0 auto!important;width:auto!important;min-width:max-content!important;padding:0 16px!important;font-size:14px!important;line-height:32px!important;white-space:nowrap!important}
.announce-msg{min-width:0!important}
.case-header{background:var(--surface)!important;border-bottom:1px solid var(--border)!important;padding:12px 18px 14px!important;display:block!important}
.case-header::before{display:none!important}
.case-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.case-top-actions{margin:0!important;gap:7px}
.case-top-actions .action-icon:first-child svg{transform:rotate(180deg)}
.ch-main{max-width:980px}
.ch-meta-top{margin-bottom:6px!important}
.ch-court-name{font-size:12px;font-weight:650;color:var(--text2);border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;padding:4px 9px}
.ch-cause{font-size:22px!important;margin:7px 0 4px!important;letter-spacing:0!important}
.ch-reg{font-size:13px!important;color:var(--text2)!important}
.ch-status-box{min-width:520px!important;border-radius:14px!important;box-shadow:0 10px 26px rgba(0,0,0,.07)!important;background:var(--surface)!important}
.csb-cell{padding:14px 20px!important}
.csb-lbl{font-size:10px!important}
.csb-val{font-size:19px!important}
.case-tab .task-row .inline-actions{display:flex;flex-direction:column-reverse;align-items:flex-end;gap:8px;min-width:132px}
.case-tab .task-row .inline-actions .action-icon{opacity:1}
.tr-badge{text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:800!important;border-radius:8px!important;padding:8px 14px!important;min-width:116px;text-align:center}
.matter-contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.contact-role-card{margin-bottom:10px}
.contact-role-card .task-row{margin-bottom:6px}
@media(max-width:900px){
  .case-title-row{flex-direction:column}
  .ch-status-box{min-width:0!important;width:100%;grid-template-columns:repeat(2,1fr)!important}
}

/* Matter and toolbar refinement pass */
.case-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"left kpis"!important;
  align-items:start!important;
  gap:18px!important;
}
.case-title-row{display:contents!important}
.case-top-actions{grid-area:left!important;margin-bottom:74px!important}
.ch-main{grid-area:left!important;padding-top:54px!important}
.ch-status-box{grid-area:kpis!important;align-self:start!important}
.case-tab .task-row .inline-actions{
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
}
.case-tab .task-row .inline-actions .tr-badge{order:-1}
.case-tab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px}
.case-tab-toolbar .f-section-head{margin:0;border:0;padding:0}
.kpi-sub{display:none!important}

@media(min-width:901px){
  #tasks-toolbar,#expenses-toolbar,.control-bar{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
  }
  #tasks-toolbar .head-search,#expenses-toolbar .head-search{flex:1 1 320px!important;min-width:240px!important;max-width:560px!important}
  #tasks-toolbar .control-label,#tasks-toolbar .control-select-group label,#expenses-toolbar .control-select-group label{display:none!important}
  #tasks-toolbar .segmented-control,#expenses-toolbar .segmented-control,.cal-group{
    background:var(--surface-soft)!important;
    border:1px solid var(--border)!important;
    border-radius:14px!important;
    padding:4px!important;
    gap:4px!important;
  }
  #tasks-toolbar .filter-chip,#expenses-toolbar .filter-chip,.calendar-main-controls .filter-chip,.cal-today-btn{
    border-radius:9px!important;
    box-shadow:none!important;
    border-color:transparent!important;
    background:transparent!important;
  }
  #tasks-toolbar .filter-chip.active,#expenses-toolbar .filter-chip.active,.calendar-main-controls .filter-chip.active,.cal-today-btn.active{
    background:var(--surface)!important;
    color:var(--accent)!important;
    border-color:color-mix(in srgb,var(--accent) 25%,var(--border))!important;
    box-shadow:0 1px 3px rgba(0,0,0,.08)!important;
  }
  #tasks-toolbar .view-toggle,#expenses-toolbar .view-toggle{margin-left:auto!important;flex:0 0 auto!important}
}
.calendar-main-controls{gap:10px!important}
.calendar-main-controls .view-toggle{order:99!important;margin-left:auto!important}
.calendar-main-controls .cal-show-only{order:20!important}
.calendar-main-controls .view-toggle,.view-toggle{
  background:var(--surface-soft)!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  padding:5px!important;
  box-shadow:0 1px 3px rgba(0,0,0,.04)!important;
}
.view-toggle .view-btn{border-radius:10px!important;background:transparent!important;border-color:transparent!important}
.view-toggle .view-btn.active{background:var(--surface)!important;border-color:color-mix(in srgb,var(--accent) 28%,var(--border))!important;box-shadow:0 1px 3px rgba(0,0,0,.08)!important}

@media(max-width:900px){
  .case-header{grid-template-columns:1fr!important;grid-template-areas:"left" "kpis"!important}
  .case-top-actions{margin-bottom:8px!important}
  .ch-main{padding-top:0!important}
}

/* 26.14 filter and repository module finish */
.header{overflow:visible!important}
.header-nav{overflow:hidden!important}
.header-right,.dropdown-anchor,.avatar-menu-anchor{overflow:visible!important}
.dropdown,.dropdown-menu{
  z-index:5000!important;
  background:var(--surface)!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
}
.dropdown.open{display:block!important}

@media(min-width:901px){
  #register-filters,#tasks-toolbar,#expenses-toolbar,.calendar-main-controls{
    gap:12px!important;
    align-items:center!important;
  }
  #register-filters .control-group,
  #tasks-toolbar .control-group,
  #expenses-toolbar .control-group,
  .calendar-main-controls .cal-group{
    margin:0!important;
  }
  #tasks-toolbar .segmented-control,
  #expenses-toolbar .segmented-control,
  .calendar-main-controls .cal-group{
    gap:5px!important;
    padding:5px!important;
    border-radius:14px!important;
  }
  #register-filters .view-toggle,
  #tasks-toolbar .view-toggle,
  #expenses-toolbar .view-toggle,
  .calendar-main-controls .view-toggle{
    margin-left:auto!important;
    flex:0 0 auto!important;
    justify-self:end!important;
  }
}

.filter-chip,.chip,.cal-today-btn{
  border-radius:10px!important;
  gap:7px!important;
}
.filter-chip .icon,.chip .icon,.cal-today-btn .icon{
  width:14px!important;
  height:14px!important;
  flex:0 0 auto!important;
  stroke:currentColor!important;
}
.filter-chip.active,.chip.active,.cal-today-btn.active,
#tasks-toolbar .filter-chip.active,
#expenses-toolbar .filter-chip.active,
.calendar-main-controls .filter-chip.active,
.calendar-main-controls .cal-today-btn.active{
  background:var(--accent)!important;
  color:#fff!important;
  border-color:var(--accent)!important;
  box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 24%,transparent)!important;
}
.filter-chip.active .icon,.chip.active .icon,.cal-today-btn.active .icon{
  stroke:#fff!important;
}

input[type=date],input[type=month],input[type=time],
#cal-date-picker,#exp-month{
  text-align:center!important;
  text-align-last:center!important;
  padding-left:12px!important;
  padding-right:12px!important;
}

#page-repository .daily-card{
  max-width:1120px;
  border-radius:12px;
}
#page-repository .repo-tab-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}
#page-repository .repo-tab{
  border-radius:10px!important;
  border:1px solid var(--border)!important;
  background:var(--surface-soft)!important;
  color:var(--text2)!important;
  padding:8px 14px!important;
}
#page-repository .repo-tab.active{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
}

/* 26.14 control-height and matter header alignment */
:root{--module-control-h:44px}
.control-bar .head-search,
.search-input,
.control-shadow-select,
.sort-select,
#cal-date-picker,
#exp-month,
input[type=date],
input[type=month],
input[type=time]{
  height:var(--module-control-h)!important;
  min-height:var(--module-control-h)!important;
  box-sizing:border-box!important;
}
.segmented-control,
.calendar-main-controls .cal-group,
.view-toggle{
  min-height:var(--module-control-h)!important;
  height:var(--module-control-h)!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
}
.filter-chip,
.chip,
.cal-today-btn,
.view-btn{
  height:calc(var(--module-control-h) - 8px)!important;
  min-height:calc(var(--module-control-h) - 8px)!important;
  box-sizing:border-box!important;
}
.cal-nav-btn,
.control-group > .view-btn{
  height:var(--module-control-h)!important;
  min-height:var(--module-control-h)!important;
  box-sizing:border-box!important;
}
.calendar-main-controls{
  min-height:var(--module-control-h)!important;
}

.case-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"main kpis"!important;
  align-items:start!important;
  gap:8px 22px!important;
  padding-top:10px!important;
  padding-bottom:12px!important;
}
.case-title-row{display:contents!important}
.case-top-actions{
  margin:0!important;
  display:inline-flex!important;
  vertical-align:middle!important;
  margin-right:10px!important;
}
.ch-main{
  grid-area:main!important;
  padding-top:0!important;
}
.ch-meta-top{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:6px!important;
  min-height:34px!important;
  flex-wrap:wrap!important;
}
.ch-main .case-top-actions{flex:0 0 auto!important}
.ch-cause{margin-top:2px!important}
.ch-status-box{
  grid-area:kpis!important;
  align-self:start!important;
}
.csb-cell{
  appearance:none;
  -webkit-appearance:none;
  border-top:0!important;
  border-left:0!important;
  border-bottom:0!important;
  background:transparent!important;
  color:inherit!important;
  text-align:left!important;
  font:inherit!important;
}
.csb-link{cursor:pointer!important}
.csb-link:hover{background:var(--accent-soft)!important}
.ov-card-link{cursor:pointer}
.ov-card-link:hover{border-color:var(--accent);background:var(--accent-soft)}
.ov-sub{margin-top:4px;font-size:11px;color:var(--text3);font-family:var(--font-ui)}

@media(max-width:900px){
  .case-header{
    grid-template-columns:1fr!important;
    grid-template-areas:"main" "kpis"!important;
  }
}

/* Matter header and form refinement */
.ch-file,.ch-court-name{
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  border-radius:8px!important;
  padding:6px 13px!important;
  font-size:12px!important;
  line-height:1!important;
}
.ch-file{
  min-width:72px!important;
  font-family:var(--font-ui)!important;
  letter-spacing:.02em!important;
}
.ch-court-name{
  min-width:72px!important;
}
.connected-rail-link{
  cursor:pointer;
  transition:border-color .15s, background .15s;
}
.connected-rail-link:hover{
  border-color:var(--accent)!important;
  background:var(--accent-soft)!important;
}
#modal-case .modal-sheet{
  width:min(860px, calc(100vw - 28px))!important;
}
#modal-case .f-row-4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px!important;
}
#modal-case .f-row-4 > div{
  border:1px solid var(--border);
  background:linear-gradient(180deg,var(--surface),var(--surface-soft));
  border-radius:12px;
  padding:10px;
}
#modal-case .f-row-4 label{
  min-height:30px;
  display:block;
  margin-bottom:6px;
  line-height:1.15;
}
#modal-case .f-row-4 input{
  text-align:center;
  font-size:16px;
  font-weight:650;
}
#matter-represented-parties .represented-party-row{
  background:var(--surface-soft);
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
}
@media(max-width:760px){
  #modal-case .f-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Filter chip centering/depth pass */
.segmented-control,
.calendar-main-controls .cal-group,
#tasks-toolbar .segmented-control,
#expenses-toolbar .segmented-control,
.filter-chips{
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:5px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,var(--surface),var(--surface-soft))!important;
  border:1px solid var(--border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 2px rgba(0,0,0,.04)!important;
}
.filter-chip,
.chip,
.cal-today-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 15px!important;
  line-height:1!important;
  border-radius:11px!important;
  gap:8px!important;
  transform:translateY(0)!important;
}
.filter-chip.active,
.chip.active,
.cal-today-btn.active,
#tasks-toolbar .filter-chip.active,
#expenses-toolbar .filter-chip.active,
.calendar-main-controls .filter-chip.active,
.calendar-main-controls .cal-today-btn.active{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 94%,#fff),var(--accent))!important;
  color:#fff!important;
  border-color:color-mix(in srgb,var(--accent) 82%,#000)!important;
  box-shadow:0 2px 6px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.filter-chip.active:active,
.chip.active:active,
.cal-today-btn.active:active{
  transform:translateY(1px)!important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.16)!important;
}
.filter-chip .icon,
.cal-today-btn .icon{
  margin-top:0!important;
  align-self:center!important;
}
.view-toggle{
  align-items:center!important;
  justify-content:center!important;
}
.view-toggle .view-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Desktop task toolbar: keep one row */
@media(min-width:901px){
  #tasks-toolbar{
    display:grid!important;
    grid-template-columns:minmax(230px,340px) minmax(500px,1fr) minmax(190px,280px) auto!important;
    column-gap:18px!important;
    row-gap:0!important;
    align-items:center!important;
  }
  #tasks-toolbar .head-search{
    width:100%!important;
    min-width:230px!important;
    max-width:340px!important;
    flex:0 1 340px!important;
    position:relative!important;
    z-index:2!important;
    background-color:var(--surface)!important;
  }
  #tasks-toolbar .head-search:focus{
    max-width:380px!important;
  }
  #tasks-toolbar > select,
  #tasks-toolbar .control-spacer,
  #tasks-toolbar .control-select-group{
    display:none!important;
  }
  #tasks-toolbar .control-group{
    width:auto!important;
    min-width:0!important;
  }
  #tasks-toolbar [data-filter-group="tasks-category"]{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(78px,1fr))!important;
    justify-content:stretch!important;
    flex-wrap:nowrap!important;
    position:relative!important;
    z-index:1!important;
  }
  #tasks-toolbar [data-filter-group="tasks-category"] .filter-chip{
    width:100%!important;
    padding-inline:10px!important;
  }
  #tasks-user-chips{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(86px,1fr))!important;
    flex-wrap:nowrap!important;
  }
  #tasks-user-chips .filter-chip{
    width:100%!important;
    padding-inline:10px!important;
  }
  #tasks-toolbar .view-toggle{
    margin-left:0!important;
    justify-self:end!important;
  }
}

@media(min-width:901px) and (max-width:1280px){
  #tasks-toolbar{
    grid-template-columns:minmax(170px,220px) minmax(390px,1fr) minmax(160px,210px) auto!important;
    column-gap:14px!important;
  }
  #tasks-toolbar .head-search{
    min-width:170px!important;
    max-width:220px!important;
    padding-left:44px!important;
    color:var(--text)!important;
    cursor:text!important;
  }
  #tasks-toolbar .head-search:focus{
    max-width:260px!important;
    width:260px!important;
    color:var(--text)!important;
  }
  #tasks-toolbar [data-filter-group="tasks-category"]{
    grid-template-columns:repeat(5,minmax(64px,1fr))!important;
  }
  #tasks-toolbar [data-filter-group="tasks-category"] .filter-chip{
    font-size:11px!important;
    gap:5px!important;
    padding-inline:6px!important;
  }
}

/* 26.15 UI consistency pass: flatter chips + unified matter typography */
.segmented-control,
#tasks-toolbar .segmented-control,
#expenses-toolbar .segmented-control,
.calendar-main-controls .cal-group,
#page-repository .repo-filter-row{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
}

.filter-chip,
.chip,
.cal-today-btn{
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}

.filter-chip.active,
.chip.active,
.cal-today-btn.active,
#tasks-toolbar .filter-chip.active,
#expenses-toolbar .filter-chip.active,
.calendar-main-controls .filter-chip.active{
  background:var(--accent-bg)!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--accent) 26%,var(--border))!important;
  box-shadow:none!important;
}

.rt-file,
.ch-file{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:24px!important;
  min-width:72px!important;
  padding:3px 10px!important;
  border-radius:6px!important;
  font-size:11px!important;
  font-family:var(--font-mono)!important;
  font-weight:600!important;
  letter-spacing:.04em!important;
}

.rt-case,
.tr-text,
.daily-row .case-link,
#cal-list-view .daily-row strong{
  font-family:var(--font-body)!important;
  font-size:13.5px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

.rt-reg,
.tr-meta,
.daily-row-meta{
  font-family:var(--font-mono)!important;
  font-size:11px!important;
  letter-spacing:0!important;
}

/* Single shared filter-button system (final override) */
body .segmented-control{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:4px!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  background:var(--surface)!important;
  box-shadow:none!important;
}
body .filter-chip{
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:var(--text2)!important;
  font-weight:600!important;
  box-shadow:none!important;
}
body .filter-chip:hover{
  background:var(--surface2)!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
}
body .filter-chip.active{
  background:var(--accent-bg)!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--accent) 26%,var(--border))!important;
  box-shadow:none!important;
}

/* Uniform, non-scrolling chip rows with clean edge fit */
#register-filters,
#tasks-toolbar,
#expenses-toolbar,
.calendar-main-controls,
#daily-toolbar,
#page-repository .repo-filter-row{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  background:var(--surface)!important;
}

#page-brief .exp-toolbar,
#page-brief #daily-toolbar{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
}

#register-filters .head-search,
#tasks-toolbar .head-search,
#expenses-toolbar .head-search,
.calendar-main-controls .head-search,
#daily-toolbar .head-search,
#page-repository #repo-global-search{
  flex:1 1 280px!important;
  min-width:220px!important;
  max-width:520px!important;
}

#register-filters .segmented-control,
#tasks-toolbar .segmented-control,
#expenses-toolbar .segmented-control,
.calendar-main-controls .cal-group,
#daily-toolbar .cal-group{
  flex:1 1 auto!important;
  min-width:0!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(0,1fr)!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
}

#register-filters .filter-chip,
#tasks-toolbar .filter-chip,
#expenses-toolbar .filter-chip,
.calendar-main-controls .filter-chip,
#daily-toolbar .filter-chip,
#daily-toolbar .cal-today-btn{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
}

/* ensure selected style is identical everywhere, including calendar/day chips */
.cal-today-btn,
.view-toggle .view-btn,
.repo-tab{
  background:transparent!important;
}
.cal-today-btn.active,
.view-toggle .view-btn.active,
.repo-tab.active{
  background:var(--accent-bg)!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--accent) 26%,var(--border))!important;
  box-shadow:none!important;
}

@media(max-width:900px){
  #register-filters,
  #tasks-toolbar,
  #expenses-toolbar,
  .calendar-main-controls,
  #daily-toolbar,
  #page-repository .repo-filter-row{
    flex-wrap:wrap!important;
  }
}

/* Repository module revamp */
#page-repository .repo-page-card{
  max-width:none;
  padding:22px 24px;
}
#page-repository .repo-tab-strip{
  gap:10px!important;
  padding-bottom:14px;
  margin-bottom:20px!important;
  border-bottom:1px solid var(--border);
}
#page-repository .repo-tab{
  min-height:40px;
  padding:0 18px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.repo-content{
  padding-top:2px;
}
.repo-filter-row{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:-4px 0 16px;
}
.repo-filter-row select{
  height:38px;
  min-width:190px;
  border:1px solid var(--border);
  border-radius:10px;
  background:linear-gradient(180deg,var(--surface),var(--surface-soft));
  padding:0 12px;
  font:650 12px var(--font-ui);
  color:var(--text);
}
.repo-editor-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.repo-editor-grid .span-2{grid-column:span 2}
.repo-editor-grid label{
  display:block;
  font-size:10.5px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text3);
  margin-bottom:6px;
}
.repo-editor-grid input,
.repo-editor-grid select{
  width:100%;
  height:40px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface);
  padding:0 12px;
  font:600 12.5px var(--font-ui);
  color:var(--text);
}
.repo-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin:2px 0 18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.repo-actions .btn{
  min-height:40px;
  padding:9px 18px!important;
}
.repo-table-wrap{
  overflow:auto;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
}
.repo-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-family:var(--font-ui);
  font-size:12.5px;
}
.repo-table th,
.repo-table td{
  padding:11px 13px;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:middle;
}
.repo-table th{
  background:var(--surface-soft);
  font-size:10px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--text3);
  font-weight:800;
}
.repo-table tr:last-child td{border-bottom:0}
.repo-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
}
.repo-status{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid var(--border);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.repo-status.active{
  color:var(--green);
  background:var(--green-bg);
  border-color:color-mix(in srgb,var(--green) 35%,var(--border));
}
.repo-status.retired{
  color:var(--text3);
  background:var(--surface-soft);
}
.sync-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid var(--border);
  font:700 9px var(--font-ui);
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-left:6px;
}
.sync-badge.is-pending{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}
.sync-badge.is-synced{background:var(--green-bg);color:var(--green);border-color:var(--green)}
.sync-badge.is-failed{background:var(--red-bg);color:var(--red);border-color:var(--red)}
.sync-badge.is-not-queued{background:var(--gray-bg);color:var(--text3);border-color:var(--border)}
.sync-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  margin-left:4px;
  vertical-align:middle;
}
.sync-dot.is-pending{background:var(--amber)}
.sync-dot.is-synced{background:var(--green)}
.sync-dot.is-failed{background:var(--red)}
@media(max-width:900px){
  .repo-editor-grid{grid-template-columns:1fr}
  .repo-editor-grid .span-2{grid-column:auto}
}
