:root{
  --ink:#201a17;
  --ink-soft:#4f4741;
  --wine:#6f1727;
  --wine-deep:#3b0d16;
  --wine-soft:#8e3142;
  --gold:#b58a43;
  --gold-soft:#d7bc86;
  --paper:#f3eee4;
  --paper-2:#ebe2d3;
  --ivory:#fffaf1;
  --panel:#fffdf8;
  --line:#d2c5b4;
  --line-dark:#b8aa97;
  --green:#2f7456;
  --amber:#a96f20;
  --red:#a23e3e;
  --muted:#786e65;
  --rail:248px;
  --shadow:0 14px 34px rgba(55,35,20,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}

/* BRAND */
.logo{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px}
.brand-mark img{width:100%;height:100%;filter:drop-shadow(0 7px 12px rgba(0,0,0,.18))}
.brand-word strong,.brand-word small{display:block}
.brand-word strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1;color:inherit;letter-spacing:-.025em}
.brand-word small{margin-top:5px;font-size:8px;line-height:1.2;text-transform:uppercase;letter-spacing:.18em;color:#9c8f83}

/* CABINET + MASTER — vertical docket rail */
.area-cabinet,.area-admin{background:linear-gradient(90deg,#e8dece 0,#f4efe6 310px,#f4efe6 100%)}
.court-dock{
  position:fixed;inset:0 auto 0 0;z-index:70;width:var(--rail);height:100vh;
  display:flex;flex-direction:column;align-items:stretch;gap:18px;
  padding:22px 16px 18px;background:var(--wine-deep);color:#fff8ed;
  border-right:1px solid #51202a;box-shadow:12px 0 34px rgba(36,14,18,.12);overflow:auto
}
.court-dock .logo{padding:4px 6px 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.court-dock .brand-word small{color:#c9aeb2}
.court-dock nav{display:grid;gap:5px}
.court-dock nav a{
  position:relative;padding:11px 12px;border-radius:4px;font-size:13px;font-weight:750;color:#d8c3c7;
  letter-spacing:.01em;border-left:3px solid transparent
}
.court-dock nav a:hover{background:rgba(255,255,255,.07);color:white}
.court-dock nav a.active{background:#fff4df;color:var(--wine-deep);border-left-color:var(--gold);box-shadow:0 8px 20px rgba(0,0,0,.13)}
.court-dock nav a.active:after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--gold);transform:translateY(-50%)}
.dock-user{margin-top:auto;position:relative}
.dock-user summary{list-style:none;cursor:pointer;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:5px;color:#fff7ee;font-size:12px;font-weight:700}
.dock-user summary::-webkit-details-marker{display:none}
.dock-user>div{position:absolute;left:0;bottom:48px;width:215px;padding:8px;background:#fffaf2;color:var(--ink);border:1px solid var(--line);box-shadow:0 22px 48px rgba(28,13,8,.22)}
.dock-user>div a{display:block;padding:9px 10px;border-radius:3px;font-size:12px}
.dock-user>div a:hover{background:#eee3d5;color:var(--wine)}
.area-admin .court-dock>a:last-child{margin-top:auto;padding:11px 12px;border:1px solid rgba(255,255,255,.18);font-size:12px;text-align:center}
.workspace{max-width:none;width:calc(100% - var(--rail));margin-left:var(--rail);padding:34px 34px 74px}
.area-cabinet .site-footer,.area-admin .site-footer{margin-left:var(--rail);width:calc(100% - var(--rail))}

/* PUBLIC LANDING — editorial / law review */
.public-head{
  min-height:78px;padding:12px max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;gap:28px;
  background:#f6efe3;color:var(--ink);border-bottom:3px double var(--wine-deep);position:sticky;top:0;z-index:50
}
.public-head .logo{margin-right:auto}
.public-head .brand-word small{color:#7b6f65}
.public-head nav{display:flex;gap:2px}
.public-head nav a{padding:9px 11px;font-family:Georgia,serif;font-size:13px;color:#5e554e}
.public-head nav a:hover{color:var(--wine)}
.public-actions{display:flex;align-items:center;gap:11px;font-size:12px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid var(--wine-deep);background:var(--wine-deep);color:#fffaf2;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.01em;transition:.15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(65,19,27,.14)}
.btn.blue{background:var(--wine);border-color:var(--wine)}
.btn.amber{background:var(--gold);border-color:var(--gold);color:#2d2115}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.btn.small{min-height:32px;padding:7px 10px;font-size:11px}
.btn.danger{background:#8b2f32;border-color:#8b2f32}

.kicker{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--wine)}
.badge,.severity,.tag{display:inline-flex;align-items:center;padding:6px 8px;border:1px solid var(--line-dark);border-radius:2px;background:#f6efe4;font-size:10px;font-weight:800;text-transform:uppercase;color:#66594f}
.badge.blue{background:#f1e1e3;color:var(--wine);border-color:#cda8ae}
.badge.amber{background:#f4e4c4;color:#78531d;border-color:#d1ae73}
.tag{border-radius:999px;text-transform:none;background:#eee5d8}
.severity-critical{border-left:5px solid #8c252d!important}
.severity-high{border-left:5px solid #b87425!important}
.severity-medium{border-left:5px solid #8d6c45!important}
.severity-low{border-left:5px solid #47735b!important}

.flash{max-width:1200px;margin:12px auto;padding:12px 15px;border:1px solid;border-radius:3px;font-size:13px;font-weight:750}.flash.success{background:#e3efe8;color:#235d44;border-color:#b8d4c5}.flash.error{background:#f4dfdf;color:#862f33;border-color:#ddb3b5}.flash.warning{background:#f6ead1;color:#74511d;border-color:#ddc394}

/* FORMS */
label{display:block;font-size:12px;font-weight:800;color:#5b5048}
input,select,textarea{width:100%;margin-top:6px;border:1px solid #c9baa6;background:#fffdf8;border-radius:2px;padding:11px 12px;color:#201a17;font-size:15px;line-height:1.4}
textarea{min-height:108px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px rgba(111,23,39,.08)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .wide{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap}

/* HEADINGS / PANELS */
.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.section-title h1{font-family:Georgia,"Times New Roman",serif;font-size:42px;line-height:1.02;letter-spacing:-.035em;margin:5px 0 0;font-weight:600}
.section-title p{color:var(--muted);margin:8px 0 0;max-width:800px;font-size:14px}
.panel{position:relative;background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:2px;margin-bottom:14px;box-shadow:var(--shadow)}
.panel:before{content:"";position:absolute;left:-1px;top:-1px;width:52px;height:3px;background:var(--wine)}
.panel h2{font-family:Georgia,serif;font-size:23px;font-weight:600;line-height:1.2;margin:6px 0 15px}
.panel-head{display:flex;justify-content:space-between;align-items:end;gap:12px}
.empty{padding:24px;text-align:center;color:#807369;background:#eee6da;border:1px dashed #c5b7a4}

/* DASHBOARD */
.hero-dashboard{position:relative;background:#2e211d;color:#fff8ee;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:30px 32px;border:1px solid #261915;box-shadow:0 18px 40px rgba(62,35,24,.12);overflow:hidden}
.hero-dashboard:after{content:"CASE DOCKET";position:absolute;right:190px;bottom:-6px;font:700 52px Georgia,serif;color:rgba(255,255,255,.035);letter-spacing:.06em}
.hero-dashboard h1{font-family:Georgia,serif;font-size:42px;font-weight:600;letter-spacing:-.035em;margin:7px 0}
.hero-dashboard p{color:#d5c7bb;max-width:760px}
.strategy-ring{width:144px;height:144px;border:2px solid var(--gold);outline:8px double rgba(181,138,67,.35);border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:#3d2a24}
.strategy-ring strong{font-family:Georgia,serif;font-size:42px;font-weight:600}.strategy-ring span{font-size:10px;color:#d9c7b6;width:90px}
.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:14px 0;border:1px solid var(--line-dark);background:#fffaf2}
.metric-strip article{padding:16px 18px;border-right:1px solid var(--line)}
.metric-strip article:last-child{border-right:0}.metric-strip span,.metric-strip strong{display:block}.metric-strip span{font-size:10px;text-transform:uppercase;color:#76695f;letter-spacing:.08em}.metric-strip strong{font-family:Georgia,serif;font-size:31px;font-weight:600;margin-top:6px}
.dash-grid,.client-grid,.security-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}

/* LISTS / CASE FILES */
.case-list,.client-cards,.evidence-grid,.gap-grid,.argument-grid,.hearing-grid,.task-grid{display:grid;gap:10px}
.case-list>a{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fffaf3;border:1px solid var(--line);padding:14px 16px 14px 20px;box-shadow:0 6px 18px rgba(70,45,28,.04)}
.case-list>a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine)}
.case-list>a:hover{background:#fffdf9;border-color:#b9a88f}
.score-box{width:62px;height:62px;border:1px solid #b8a78f;background:#eee5d7;display:grid;place-items:center;align-content:center}.score-box strong{font-family:Georgia,serif;font-size:24px}.score-box small{font-size:9px;color:#7b6d61}.case-list strong,.case-list small{display:block}.case-list strong{font-size:15px}.case-list small{font-size:11px;color:#756a61;margin-top:4px}.case-list>b{font-size:11px;color:#695d54}
.client-cards{grid-template-columns:repeat(3,1fr)}
.client-cards>a{position:relative;background:#fffaf3;border:1px solid var(--line);padding:16px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center;box-shadow:0 7px 18px rgba(70,45,28,.04)}
.client-cards>a:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;background:var(--gold)}
.client-letter{width:48px;height:48px;background:var(--wine-deep);color:#f0dba9;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:20px}.client-cards strong,.client-cards small{display:block}.client-cards strong{font-size:15px}.client-cards small{font-size:11px;color:#776b62;margin-top:4px}

/* CASE DETAIL */
.case-hero{position:relative;background:#fffaf1;border:1px solid #bda98b;border-top:8px solid var(--wine);padding:28px 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;box-shadow:var(--shadow)}
.case-hero:after{content:"СУДЕБНОЕ ДЕЛО";position:absolute;right:30px;top:16px;font:700 10px ui-monospace;letter-spacing:.18em;color:#b8a895}
.case-hero h1{font-family:Georgia,serif;font-size:38px;font-weight:600;line-height:1.05;letter-spacing:-.035em;margin:9px 0;color:var(--ink)}
.case-hero p{color:#76695f;margin:8px 0 0}
.case-score-ring{width:132px;height:132px;border:2px solid var(--wine);outline:8px double #d6c1a2;border-radius:50%;display:grid;place-items:center;align-content:center;background:#f2e7d7;color:var(--wine-deep)}
.case-score-ring strong{font-family:Georgia,serif;font-size:37px;font-weight:600}.case-score-ring small{font-size:9px;color:#77685b;width:84px;text-align:center}
.case-meta{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:12px 0 15px;border:1px solid var(--line-dark);background:#fffaf2}.case-meta>div{padding:14px;border-right:1px solid var(--line)}.case-meta>div:last-child{border-right:0}.case-meta span,.case-meta strong{display:block}.case-meta span{font-size:9px;text-transform:uppercase;color:#83756a;letter-spacing:.07em}.case-meta strong{font-size:13px;margin-top:5px}
.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 334px;gap:14px}.sticky{position:sticky;top:20px}
.quick-tabs{display:flex;gap:0;overflow:auto;margin:14px 0;border-bottom:1px solid var(--line-dark)}.quick-tabs a{white-space:nowrap;padding:10px 12px;font-family:Georgia,serif;font-size:12px;font-weight:600;border-bottom:3px solid transparent}.quick-tabs a:hover{color:var(--wine);border-bottom-color:var(--wine)}
.matrix-table{display:grid;border:1px solid var(--line)}.matrix-table>div{display:grid;grid-template-columns:1.5fr .7fr .7fr 1fr;gap:10px;padding:12px 13px;border-bottom:1px solid #ded2c2;align-items:center;font-size:12px;background:#fffaf3}.matrix-table>div:first-child{font-family:Georgia,serif;font-weight:700;background:#e8dfd1;color:#3a2d27}.matrix-table>div:last-child{border-bottom:0}
.fact-card,.evidence-card,.argument-card,.gap-card,.hearing-card,.task-card{position:relative;background:#fffaf3;border:1px solid var(--line);padding:16px;box-shadow:0 7px 18px rgba(70,45,28,.04)}
.fact-card:before,.evidence-card:before,.argument-card:before,.gap-card:before,.hearing-card:before,.task-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#aa8a5c}
.fact-card h3,.evidence-card h3,.argument-card h3,.gap-card h3,.hearing-card h3,.task-card h3{font-family:Georgia,serif;font-size:18px;font-weight:600;margin:6px 0}
.fact-card p,.evidence-card p,.argument-card p,.gap-card p,.hearing-card p,.task-card p{font-size:12px;line-height:1.6;color:#665b53}
.evidence-grid,.gap-grid,.argument-grid,.hearing-grid,.task-grid{grid-template-columns:repeat(2,1fr)}
.hearing-card time{font-family:Georgia,serif;font-size:21px;font-weight:700;color:var(--wine)}
.overdue{border-color:#d7a5a5!important;background:#fff5f3!important}

/* PORTAL — client brief, separate from lawyer rail */
.portal-body{background:#efe7da;color:var(--ink)}
.portal-head{min-height:82px;padding:12px max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:22px;background:#fffaf1;border-bottom:4px solid var(--wine-deep);position:sticky;top:0;z-index:50}
.portal-head .logo{margin-right:auto}.portal-head nav{display:flex;gap:0}.portal-head nav a{padding:9px 12px;font-family:Georgia,serif;font-size:13px;color:#665b53;border-bottom:2px solid transparent}.portal-head nav a.active{color:var(--wine);border-bottom-color:var(--wine)}.portal-head>a:last-child{font-size:12px;color:var(--wine)}
.portal-workspace{max-width:1180px;margin:auto;padding:34px 22px 72px}
.portal-hero{position:relative;background:#fffaf1;border:1px solid #bda98b;border-left:9px solid var(--wine);padding:28px 30px;box-shadow:var(--shadow)}.portal-hero h1{font-family:Georgia,serif;font-size:40px;font-weight:600;letter-spacing:-.035em;margin:8px 0}.portal-hero p{color:#6e6259;max-width:760px}.portal-case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.portal-case-grid article{background:#fffaf3;border:1px solid var(--line);padding:18px;box-shadow:0 8px 22px rgba(65,42,28,.05)}.portal-case-grid h3{font-family:Georgia,serif;font-size:20px;font-weight:600}.portal-case-grid p{font-size:13px;color:#6b6058}.portal-update{padding:16px 0;border-bottom:1px solid #d8ccbc}.portal-update time{font-size:10px;color:#89796c}

/* PUBLIC LANDING */
.landing-hero{min-height:720px;background:#f5eee2;color:var(--ink);display:grid;grid-template-columns:1.04fr .96fr;gap:72px;align-items:center;padding:80px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line-dark)}
.hero-copy{position:relative;padding-left:22px}.hero-copy:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine)}
.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:70px;font-weight:600;line-height:.98;letter-spacing:-.055em;margin:17px 0;color:#271d19}.hero-copy h1 em{color:var(--wine);font-style:italic;font-weight:500}.hero-copy>p{color:#665b52;font-size:17px;line-height:1.72;max-width:700px}.hero-actions,.hero-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.hero-proof{padding-top:13px;border-top:1px solid #cfc1ae;font-size:10px;color:#7f7063;text-transform:uppercase;letter-spacing:.07em}
.case-demo{position:relative;background:#fffaf1;color:var(--ink);border:1px solid #b6a48c;border-top:8px solid var(--wine);padding:24px;box-shadow:18px 18px 0 #d6c7b4}.case-demo:after{content:"ДОСЬЕ";position:absolute;right:20px;top:15px;font:800 10px ui-monospace;letter-spacing:.18em;color:#9e8d7e}.case-demo-top,.case-demo-foot{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#76695e}.case-demo h3{font-family:Georgia,serif;font-size:29px;font-weight:600;margin:24px 0 8px}.case-score{font-family:Georgia,serif;font-size:88px;font-weight:600;letter-spacing:-.06em;color:var(--wine);margin:24px 0}.case-score small{font-family:ui-sans-serif;font-size:15px;color:#7e7064;margin-left:5px}.matrix-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px 0;border-top:1px solid #d5c7b6}.matrix-row strong{font-size:13px}.matrix-row span{font-size:11px;color:#776b61}.matrix-row b{padding:5px 7px;border-radius:2px;font-size:9px}.matrix-row .ok{background:#e0ece4;color:#275e45}.matrix-row .warn{background:#f3e5c7;color:#7b5419}.matrix-row .bad{background:#f2dcdc;color:#893236}
.landing-section{padding:86px max(24px,calc((100vw - 1240px)/2));background:#fffaf2;border-bottom:1px solid #d9ccba}.landing-section.dark{background:#2b201c;color:#fff7ec}.section-head{max-width:880px}.section-head h2{font-family:Georgia,serif;font-size:52px;font-weight:600;line-height:1.04;letter-spacing:-.04em;margin:10px 0}.section-head p{font-size:16px;line-height:1.68;color:#6b6057}.dark .section-head p{color:#d0c2b6}.dark .kicker{color:#d7b46e}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border:1px solid var(--line-dark)}.process-grid article{position:relative;background:#fffaf2;padding:24px;min-height:205px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.process-grid b{font-family:Georgia,serif;font-size:27px;color:#b69a72}.process-grid h3{font-family:Georgia,serif;font-size:21px;font-weight:600;margin:25px 0 8px}.process-grid p{font-size:13px;line-height:1.58;color:#695f56}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px;border:1px solid #5b4740}.dark .feature-grid article{background:#342622;border-right:1px solid #5b4740;border-bottom:1px solid #5b4740;padding:23px}.feature-grid span{color:#d7b46e;font-family:Georgia,serif;font-size:17px}.feature-grid h3{font-family:Georgia,serif;font-size:20px;font-weight:600;margin:24px 0 8px}.feature-grid p{font-size:13px;line-height:1.56;color:#cabcb1}.tariff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}.tariff-grid article{background:#fffaf2;border:1px solid var(--line-dark);padding:23px;box-shadow:0 8px 22px rgba(65,42,28,.04)}.tariff-grid h3{font-family:Georgia,serif;font-size:28px;font-weight:600;margin:6px 0}.tariff-grid .price{font-family:Georgia,serif;font-size:36px;color:var(--wine);margin:16px 0}.tariff-grid ul{padding-left:18px;min-height:142px;font-size:13px;line-height:1.9;color:#655a52}.tariff-grid .btn{width:100%}.legal-note{background:#e7dbc7;display:grid;grid-template-columns:1fr 1fr;gap:50px}.legal-note h2{font-family:Georgia,serif;font-size:31px}.legal-note p{line-height:1.67;color:#574c44}

/* AUTH */
.auth-shell{min-height:72vh;background:#e6dccd;display:grid;place-items:center;padding:38px 20px}.auth-card{width:min(490px,100%);background:#fffaf1;border:1px solid #bba98f;border-top:7px solid var(--wine);padding:31px;box-shadow:16px 16px 0 #cdbda8}.auth-card h1{font-family:Georgia,serif;font-size:39px;font-weight:600;line-height:1.05;letter-spacing:-.035em}.auth-card p{color:#6e6258}.auth-card label{margin:13px 0}.auth-card .btn{width:100%}

/* LEGAL */
.legal-page{max-width:980px;margin:34px auto 54px;padding:0 22px}.legal-page h1{font-family:Georgia,serif;font-size:50px;font-weight:600;letter-spacing:-.04em}.legal-page h2{font-family:Georgia,serif;font-size:24px;font-weight:600;margin-top:28px}.legal-page p,.legal-page li{font-size:15px;line-height:1.78}.legal-card{background:#fffaf2;border:1px solid var(--line);padding:21px;margin:13px 0}.legal-warning{padding:15px;background:#f0e2c9;border-left:5px solid var(--gold)}

/* ADMIN extras */
.tariff-grid .price{white-space:nowrap}.security-grid{align-items:start}

/* FOOTER */
.site-footer{background:#2b201c;color:#bfb0a5;padding:34px max(22px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr auto;gap:18px}.site-footer strong,.site-footer span{display:block}.site-footer strong{font-family:Georgia,serif;color:#fff5e9;font-size:18px}.site-footer a,.site-footer small,.site-footer span{font-size:11px}.site-footer>div:nth-child(2){display:flex;gap:16px}.site-footer small{grid-column:1/-1;border-top:1px solid #59463f;padding-top:13px}

/* REPORT */
.report-body{background:#d6cdc1}.report-sheet{width:210mm;min-height:297mm;margin:20px auto;background:#fffdf8;padding:17mm;font-family:Georgia,serif;color:#1f1b18}.report-sheet>header{display:flex;justify-content:space-between;border-bottom:4px double #4a151e}.report-score{width:90px;height:90px;border:3px double var(--wine);border-radius:50%;display:grid;place-items:center}.report-sheet table{width:100%;border-collapse:collapse}.report-sheet th,.report-sheet td{border:1px solid #bfb2a1;padding:8px}.print-btn{position:fixed;right:20px;top:20px}

/* INSTALL */
.install-body{background:#2b201c}.install-wrap{max-width:920px;margin:auto;padding:48px 20px}.install-brand{display:flex;gap:12px;color:#fff6ea}.install-card{background:#fffaf2;border-top:7px solid var(--wine);padding:29px;margin-top:22px;box-shadow:15px 15px 0 #1b1411}

/* MOBILE */
@media(max-width:1100px){
  :root{--rail:215px}.case-layout{grid-template-columns:1fr}.sticky{position:static}.client-cards{grid-template-columns:1fr 1fr}.feature-grid,.tariff-grid{grid-template-columns:1fr 1fr}.case-meta{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .court-dock{position:static;width:100%;height:auto;display:grid;grid-template-columns:1fr auto;padding:12px 14px;overflow:visible}.court-dock .logo{border-bottom:0;padding:0}.court-dock nav{grid-column:1/-1;display:flex;overflow:auto;border-top:1px solid rgba(255,255,255,.15);padding-top:9px}.court-dock nav a{flex:0 0 auto}.dock-user{margin:0}.dock-user>div{left:auto;right:0;bottom:auto;top:46px}.area-admin .court-dock>a:last-child{margin:0}.workspace{width:100%;margin-left:0;padding:22px 14px 62px}.area-cabinet .site-footer,.area-admin .site-footer{margin-left:0;width:100%}.portal-head{flex-wrap:wrap}.portal-head nav{order:3;width:100%;overflow:auto}.landing-hero{grid-template-columns:1fr;gap:44px;padding-top:52px}.hero-copy h1{font-size:52px}.process-grid,.client-cards,.evidence-grid,.gap-grid,.argument-grid,.hearing-grid,.task-grid,.portal-case-grid{grid-template-columns:1fr}.legal-note,.dash-grid,.client-grid,.security-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}.hero-dashboard,.case-hero{grid-template-columns:1fr}.strategy-ring,.case-score-ring{margin-top:15px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.case-meta{grid-template-columns:1fr 1fr}.matrix-table>div{grid-template-columns:1fr}.section-title{align-items:start}.section-title h1{font-size:34px}.public-head nav{display:none}.public-head{padding:10px 14px}.landing-section{padding-top:60px;padding-bottom:60px}.section-head h2{font-size:39px}.site-footer{grid-template-columns:1fr}.site-footer>div:nth-child(2){flex-wrap:wrap}.site-footer small{grid-column:1}.report-sheet{width:auto;margin:0;padding:18px}.print-btn{position:static}input,select,textarea{font-size:16px}
}
@media(max-width:560px){.feature-grid,.tariff-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr}.hero-copy h1{font-size:42px}.case-score{font-size:70px}.case-meta{grid-template-columns:1fr}.case-hero h1{font-size:31px}.portal-hero h1{font-size:32px}.section-title{display:block}.section-title .btn{margin-top:12px}.public-actions>a:first-child{display:none}}
@media print{.print-btn{display:none}.report-body{background:white}.report-sheet{margin:0}}

/* =========================================================
   ЮрСуд 1.2.0 FINAL — LITIGATION WORKFLOW
   ========================================================= */
.case-link-count{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);font-size:12px;font-weight:800;letter-spacing:.04em;color:#6f1727}
.matrix-12>div{grid-template-columns:minmax(220px,1.4fr) minmax(200px,1fr) 130px 90px}
.matrix-12 strong small{display:block;margin-top:5px;font-size:10px;font-weight:700;color:#84776d;text-transform:uppercase;letter-spacing:.06em}
.readiness-panel{background:#fff8e8!important;border-color:#d9c9a4!important}
.readiness-panel h2{font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1;margin:8px 0 18px;color:#3b0d16}
.readiness-list{display:grid;gap:7px}.readiness-list>div{display:grid;grid-template-columns:22px 1fr;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid #eadfc9;font-size:13px}.readiness-list>div:last-child{border-bottom:0}.readiness-list b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:12px}.readiness-list .done b{background:#e7eedc;color:#365b31}.readiness-list .todo b{background:#f0e6d2;color:#8e6c31}.readiness-list .done span{color:#3c4f39}.readiness-list .todo span{color:#6d6257}
.hearing-brief-card{grid-column:1/-1}.hearing-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.hearing-brief-grid>div{padding:13px;border:1px solid #e0d6c5;background:#fffaf1}.hearing-brief-grid b{display:block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6f1727}.hearing-brief-grid p{margin:0;font-size:13px;line-height:1.55;color:#403a34}.hearing-brief-card form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.case-timeline{position:relative;display:grid;gap:0;padding-left:24px}.case-timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:#cdbfae}.timeline-event{position:relative;display:grid;grid-template-columns:130px 1fr;gap:18px;padding:0 0 22px}.timeline-event:before{content:"";position:absolute;left:-23px;top:6px;width:11px;height:11px;border-radius:50%;background:#6f1727;box-shadow:0 0 0 4px #f8f1e5}.timeline-event.type-hearing:before{background:#b57b20}.timeline-event.type-update:before{background:#4e7050}.timeline-event.type-task:before{background:#6d647f}.timeline-event time{font-size:11px;font-weight:800;color:#84776d;text-transform:uppercase;letter-spacing:.04em}.timeline-event strong{display:block;font-size:15px;color:#261e1b}.timeline-event p{margin:5px 0 0;font-size:13px;line-height:1.55;color:#625951}.timeline-event small{display:block;margin-top:5px;font-size:11px;color:#8b8178}
.portal-stage-path{display:flex;gap:8px;flex-wrap:wrap}.portal-stage-path span{position:relative;min-width:155px;padding:12px 14px 12px 34px;border:1px solid #dbcdb8;background:#fffaf0}.portal-stage-path span:before{content:"✓";position:absolute;left:12px;top:12px;font-weight:900;color:#6f1727}.portal-stage-path b,.portal-stage-path small{display:block}.portal-stage-path b{font-size:13px}.portal-stage-path small{margin-top:4px;color:#81756b;font-size:10px}.portal-case-summary{border-left:4px solid #6f1727!important}
.hearing-date-box{min-width:140px;text-align:center;border:1px solid #cdbfae;padding:14px;background:#fffaf0}.hearing-date-box strong,.hearing-date-box small{display:block}.hearing-date-box strong{font-size:22px}.hearing-date-box small{font-size:16px;margin-top:4px}.brief-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.brief-columns>section{margin:0!important}.hand-notes div{height:30px;border-bottom:1px solid #c9c0b5}

@media(max-width:900px){.matrix-12>div{grid-template-columns:1.2fr 1fr 110px 70px}.hearing-brief-grid{grid-template-columns:1fr}.timeline-event{grid-template-columns:100px 1fr}.brief-columns{grid-template-columns:1fr}}
@media(max-width:680px){.matrix-12{overflow-x:auto}.matrix-12>div{min-width:720px}.case-timeline{padding-left:20px}.timeline-event{grid-template-columns:1fr;gap:4px}.timeline-event:before{left:-19px}.readiness-panel h2{font-size:40px}.portal-stage-path{display:grid;grid-template-columns:1fr}.portal-stage-path span{min-width:0}.hearing-brief-grid>div{padding:12px}.hearing-date-box{min-width:100px}}

/* =========================================================
   ЮрСуд 1.2.1 — TYPOGRAPHY + VIEWPORT FILL HOTFIX
   Новый шрифт и устранение пустых зон под footer
   ========================================================= */
:root{
  --font-ui:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --font-display:"Segoe UI Variable Display","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

html,body{min-height:100%}
body,
button,input,select,textarea{
  font-family:var(--font-ui);
}
body{
  font-size:16px;
  line-height:1.52;
  letter-spacing:-.005em;
}

/* Новый единый display-шрифт: современный, чистый, без тяжёлой Georgia */
.brand-word strong,
.public-head nav a,
.section-title h1,
.panel h2,
.hero-dashboard h1,
.strategy-ring strong,
.metric-strip strong,
.score-box strong,
.client-letter,
.case-hero h1,
.case-score-ring strong,
.quick-tabs a,
.matrix-table>div:first-child,
.fact-card h3,.evidence-card h3,.argument-card h3,.gap-card h3,.hearing-card h3,.task-card h3,
.hearing-card time,
.portal-head nav a,
.portal-hero h1,
.portal-case-grid h3,
.hero-copy h1,
.case-demo h3,
.case-score,
.section-head h2,
.process-grid b,
.process-grid h3,
.feature-grid span,
.feature-grid h3,
.tariff-grid h3,
.tariff-grid .price,
.legal-note h2,
.auth-card h1,
.legal-page h1,
.legal-page h2,
.site-footer strong,
.readiness-panel h2{
  font-family:var(--font-display)!important;
}

.section-title h1,
.hero-dashboard h1,
.case-hero h1,
.portal-hero h1,
.hero-copy h1,
.section-head h2,
.auth-card h1,
.legal-page h1,
.readiness-panel h2{
  font-weight:750;
  letter-spacing:-.045em;
}

.panel h2,
.fact-card h3,.evidence-card h3,.argument-card h3,.gap-card h3,.hearing-card h3,.task-card h3,
.portal-case-grid h3,
.process-grid h3,
.feature-grid h3,
.tariff-grid h3,
.legal-page h2,
.legal-note h2{
  font-weight:700;
  letter-spacing:-.025em;
}

.kicker{
  font-family:var(--font-ui)!important;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.14em;
}

/* Читаемость меню и интерфейсных подписей */
.court-dock nav a{font-size:13.5px;font-weight:700;letter-spacing:-.005em}
.dock-user summary{font-size:12.5px}
.btn{font-size:12.5px;font-weight:750}
label{font-size:12.5px}
.section-title p{font-size:14.5px}
.metric-strip span{font-size:10.5px}
.case-list strong{font-size:15.5px}
.case-list small{font-size:11.5px}
.portal-case-grid p{font-size:13.5px}
.site-footer a,.site-footer small,.site-footer span{font-size:11.5px}

/* MASTER + кабинет: footer всегда у нижней границы viewport */
.area-cabinet,
.area-admin{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.area-cabinet .workspace,
.area-admin .workspace{
  flex:1 0 auto;
  padding-top:28px;
  padding-bottom:28px;
}
.area-cabinet .site-footer,
.area-admin .site-footer{
  flex:0 0 auto;
  margin-top:auto;
  padding-top:26px;
  padding-bottom:22px;
}

/* Клиентский портал: та же логика без белого хвоста снизу */
.portal-body{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.portal-workspace{
  width:100%;
  flex:1 0 auto;
  padding-top:28px;
  padding-bottom:30px;
}
.portal-body .site-footer{
  width:100%;
  flex:0 0 auto;
  margin-top:auto;
  padding-top:26px;
  padding-bottom:22px;
}

/* Компактнее dashboard без ненужного воздуха */
.hero-dashboard{padding:27px 30px}
.metric-strip{margin:12px 0 13px}
.panel{margin-bottom:12px}
.empty{padding:22px}
.site-footer{row-gap:14px}
.site-footer small{padding-top:11px}

/* MASTER также не оставляет свободную полосу после коротких страниц */
.area-admin .workspace>.section-title:first-child,
.area-cabinet .workspace>.section-title:first-child{margin-top:0}

@media(max-width:920px){
  .area-cabinet,.area-admin{display:flex;min-height:100dvh}
  .area-cabinet .workspace,.area-admin .workspace{flex:1 0 auto;padding:20px 14px 22px}
  .area-cabinet .site-footer,.area-admin .site-footer{margin-top:auto;padding:22px 16px}
  .portal-workspace{flex:1 0 auto;padding:22px 14px 24px}
  .portal-body .site-footer{margin-top:auto;padding:22px 16px}
  .section-title h1{font-size:33px}
  .hero-dashboard h1{font-size:38px}
}

@media(max-width:560px){
  body{font-size:16px;line-height:1.5}
  .court-dock nav a{font-size:13px}
  .section-title h1{font-size:31px}
  .hero-dashboard h1{font-size:35px}
  .portal-hero h1{font-size:30px}
  .site-footer{gap:12px}
}


/* =========================================================
   ЮрСуд 1.2.2 — LANDING TYPOGRAPHY + SCORE FIX
   Публичный сайт: современная типографика, чистая матрица и score
   ========================================================= */
:root{
  --font-ui:"Segoe UI Variable Text","Aptos","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --font-display:"Segoe UI Variable Display","Aptos Display","Aptos","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

/* Публичный сайт: меньше тяжести, больше воздуха и лучше кириллица */
.area-public,
.area-public button,
.area-public input,
.area-public select,
.area-public textarea{
  font-family:var(--font-ui)!important;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1;
}
.area-public .hero-copy h1,
.area-public .case-demo h3,
.area-public .section-head h2,
.area-public .process-grid h3,
.area-public .feature-grid h3,
.area-public .tariff-grid h3,
.area-public .tariff-grid .price,
.area-public .legal-note h2,
.area-public .site-footer strong{
  font-family:var(--font-display)!important;
}
.area-public .hero-copy h1{
  max-width:760px;
  font-size:66px;
  line-height:1.01;
  font-weight:720;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.area-public .hero-copy h1 em{
  display:inline;
  font-family:inherit;
  font-style:normal;
  font-weight:720;
  color:var(--wine);
}
.area-public .hero-copy>p{
  max-width:690px;
  font-size:18px;
  line-height:1.65;
  letter-spacing:-.012em;
}
.area-public .hero-proof{
  gap:8px 18px;
  font-size:10.5px;
  line-height:1.45;
}
.area-public .section-head h2{
  font-weight:720;
  letter-spacing:-.04em;
}
.area-public .section-head p,
.area-public .process-grid p,
.area-public .feature-grid p,
.area-public .legal-note p{
  letter-spacing:-.008em;
}

/* Демонстрационное судебное досье */
.area-public .case-demo{
  padding:26px 26px 24px;
}
.area-public .case-demo-top{
  align-items:flex-start;
  line-height:1.35;
}
.area-public .case-demo-top strong{
  font-size:12px;
  letter-spacing:-.01em;
}
.area-public .case-demo-top span{
  max-width:150px;
  text-align:right;
  font-size:11px;
}
.area-public .case-demo h3{
  margin:30px 0 18px;
  font-size:30px;
  line-height:1.15;
  font-weight:720;
  letter-spacing:-.03em;
}

/* 72 / 100: никогда не пересекается с подписью */
.area-public .case-score{
  display:grid;
  grid-template-columns:auto auto 1fr;
  grid-template-rows:auto auto;
  column-gap:8px;
  align-items:end;
  justify-content:start;
  width:max-content;
  max-width:100%;
  margin:16px 0 24px;
  padding:14px 18px 13px;
  border:1px solid #c6b49b;
  border-left:5px solid var(--wine);
  background:#f7efe3;
  color:var(--wine);
  letter-spacing:0;
  line-height:1;
}
.area-public .case-score strong{
  grid-row:1 / 3;
  display:block;
  font-family:var(--font-display)!important;
  font-size:70px;
  line-height:.86;
  font-weight:720;
  letter-spacing:-.06em;
  color:var(--wine);
}
.area-public .case-score .case-score-scale{
  align-self:end;
  padding-bottom:3px;
  font-size:15px;
  line-height:1;
  font-weight:700;
  color:#775f58;
  white-space:nowrap;
}
.area-public .case-score small{
  grid-column:2 / 4;
  display:block;
  margin:5px 0 0;
  font-family:var(--font-ui)!important;
  font-size:11px;
  line-height:1.3;
  font-weight:650;
  color:#796b60;
  white-space:nowrap;
}

/* Матрица: название и пояснение всегда двумя строками */
.area-public .matrix-row{
  align-items:center;
  padding:14px 0;
}
.area-public .matrix-row>div{
  min-width:0;
  display:grid;
  gap:4px;
}
.area-public .matrix-row strong,
.area-public .matrix-row span{
  display:block;
}
.area-public .matrix-row strong{
  font-size:13px;
  line-height:1.3;
  font-weight:720;
  color:#211a17;
}
.area-public .matrix-row span{
  font-size:11px;
  line-height:1.4;
  color:#776b61;
}
.area-public .matrix-row b{
  align-self:center;
  justify-self:end;
  white-space:nowrap;
}
.area-public .case-demo-foot{
  align-items:center;
  margin-top:2px;
  line-height:1.4;
}
.area-public .case-demo-foot strong{
  text-align:right;
}

@media(max-width:920px){
  .area-public .hero-copy h1{font-size:54px}
  .area-public .landing-hero{gap:38px}
  .area-public .case-demo{max-width:720px;width:100%}
}
@media(max-width:560px){
  .area-public .hero-copy h1{font-size:43px;line-height:1.02}
  .area-public .hero-copy>p{font-size:16.5px;line-height:1.62}
  .area-public .case-demo{padding:21px 18px 19px;box-shadow:10px 10px 0 #d6c7b4}
  .area-public .case-demo h3{font-size:25px;margin:26px 0 16px}
  .area-public .case-score{grid-template-columns:auto auto;max-width:100%;padding:12px 14px}
  .area-public .case-score strong{font-size:58px}
  .area-public .case-score small{grid-column:1 / 3;grid-row:3;margin-top:7px;white-space:normal}
  .area-public .matrix-row{grid-template-columns:minmax(0,1fr) auto;gap:9px}
  .area-public .matrix-row b{font-size:8.5px}
  .area-public .case-demo-foot{display:grid;grid-template-columns:1fr;gap:5px}
  .area-public .case-demo-foot strong{text-align:left}
}

/* =========================================================
   ЮрСуд 1.2.3 — AUTH FLOW + FOOTER HOTFIX
   двухэтапный 2FA и отсутствие пустого хвоста под footer
   ========================================================= */
.area-public{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  background:#e6dccd;
}
.area-public>.public-head{
  flex:0 0 auto;
}
.area-public>main{
  width:100%;
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
}
.area-public>main>.auth-shell{
  width:100%;
  min-height:0;
  flex:1 0 auto;
}
.area-public>.site-footer{
  width:100%;
  flex:0 0 auto;
  margin-top:auto;
}

/* Авторизованные зоны также заканчиваются footer без внешнего поля */
.area-cabinet,
.area-admin,
.portal-body{
  overflow-x:hidden;
}
.area-cabinet .site-footer,
.area-admin .site-footer,
.portal-body .site-footer,
.area-public .site-footer{
  margin-bottom:0!important;
}

/* Отдельный второй шаг 2FA */
.auth-2fa-card{
  width:min(470px,100%);
}
.auth-2fa-card h1{
  margin-bottom:10px;
}
.auth-code-input{
  text-align:center;
  font-size:28px!important;
  font-weight:800;
  letter-spacing:.32em!important;
  padding-left:calc(14px + .32em)!important;
  font-variant-numeric:tabular-nums;
}
.auth-back-link{
  display:inline-block;
  margin-top:16px;
  font-size:12.5px;
  font-weight:700;
  color:var(--wine);
}
.auth-back-link:hover{text-decoration:underline}

@media(max-width:560px){
  .area-public>main>.auth-shell{padding:24px 14px}
  .auth-2fa-card{width:100%}
  .auth-code-input{font-size:25px!important;letter-spacing:.24em!important}
}
