:root{--navy:#28255f;--blue:#5147cf;--muted:#69708b;--bg:#f5f5fc;--line:#e5e5f1}body{background:radial-gradient(ellipse at 90% 0,#eae7ff 0,transparent 45%),#f5f5fc;color:#292943}.topbar{padding:18px 32px;gap:24px;background:rgba(255,255,255,.95);box-shadow:0 4px 24px #37326d08}.brand-mark,.login-brand{background:linear-gradient(140deg,#7771f2,#4436b8);box-shadow:0 5px 0 #33268d,0 10px 20px #665bd92b;border-radius:14px}.topbar nav{gap:8px}.topbar nav a{padding:10px 12px;border-radius:10px;white-space:nowrap}.topbar nav a.active{background:#eeebff;color:#4f43be}.topbar nav a:hover{background:#f2f0ff;text-decoration:none}.brand small{letter-spacing:1.4px}main{max-width:1600px;padding:32px 40px}.primary{background:linear-gradient(135deg,#6659e6,#4d40bd);border-color:#5c4ed1;box-shadow:0 4px 10px #5443c127}.primary:hover{background:#4036a3;color:#fff}.button,button{border-radius:11px;min-height:43px}input,select,textarea{border-radius:9px;min-height:44px}a:focus-visible,button:focus-visible{outline:3px solid #7765f2;outline-offset:3px}.panel{border-radius:18px;box-shadow:0 7px 24px #35306605}.metric{border-radius:16px;border-top:3px solid #8c7ee6;box-shadow:0 6px 18px #35306607}.metric:nth-child(3n+2){border-top-color:#54b7ba}.metric:nth-child(3n){border-top-color:#eda969}.metric strong{color:#494080}.badge{border-radius:7px}.eyebrow{color:#6559a3;font-size:10px;letter-spacing:1.8px}.library-hero{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:300px;padding:38px 48px;border:1px solid #e2def8;border-radius:26px;background:linear-gradient(115deg,#eeebff 0%,#f5f3ff 48%,#e5f5fa 100%);overflow:hidden;margin-bottom:30px}.library-hero h1{font-size:43px;line-height:1.12;letter-spacing:-1.4px;color:#292459;margin:12px 0 16px}.library-hero p:not(.eyebrow){color:#626184;max-width:480px}.library-hero .button-row{margin-top:22px}.hero-stack{position:relative;width:270px;height:240px;flex-shrink:0;margin:0 45px 0 30px;perspective:900px}.stack-sheet{position:absolute;width:195px;height:225px;left:35px;top:8px;border-radius:21px}.stack-sheet.back{background:#c5a5ef;transform:rotate(15deg) translateX(25px);box-shadow:10px 15px 30px #635aa02b}.stack-sheet.middle{background:#96d9de;transform:rotate(-12deg) translateX(-15px)}.stack-sheet.front{background:linear-gradient(145deg,#fff,#f5f3ff);transform:rotate(-3deg);box-shadow:8px 12px 0 #d6d2ee,15px 24px 30px #55519025;border:1px solid #fff;padding:23px;display:flex;flex-direction:column;gap:8px}.stack-sheet b{font-size:11px;letter-spacing:1.3px;color:#5e5297}.stack-sheet span{font-size:9px;color:#817997}.stack-sheet .stack-symbol{font-size:38px;color:#8170df;line-height:1}.stack-sheet strong{font-size:40px;color:#4c3d9b}.category-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:20px 0 28px}.category-card{display:flex;flex-direction:column;gap:13px;align-items:flex-start;background:#fff;border:1px solid #e8e5f3;border-radius:17px;padding:18px 14px;box-shadow:0 5px 0 #eae7f4,0 8px 16px #36304b06;color:#3f3c56;transition:transform .18s,box-shadow .18s}.category-card:hover{transform:translateY(-4px);box-shadow:0 8px 0 #eae7f4,0 12px 20px #65559412;text-decoration:none}.category-card.selected{outline:2px solid #8270e4;outline-offset:2px}.category-card strong{font-size:13px}.doc-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#9c8bef,#6650ce);color:white;font-weight:750;font-size:15px;box-shadow:0 4px 0 #4a359b,0 7px 12px #7e6db032;transform:rotate(-4deg)}.rose .doc-icon{background:linear-gradient(145deg,#ec98ba,#d35787);box-shadow:0 4px 0 #a03869,0 7px 12px #c36b8e32}.blue .doc-icon{background:linear-gradient(145deg,#91adf0,#5878d8);box-shadow:0 4px 0 #3b55a3,0 7px 12px #6b87c332}.cyan .doc-icon{background:linear-gradient(145deg,#80d1d6,#359da9);box-shadow:0 4px 0 #26717f,0 7px 12px #59a2ac32}.amber .doc-icon{background:linear-gradient(145deg,#edbf74,#cc8c2d);box-shadow:0 4px 0 #a46c1c,0 7px 12px #bd985432}.green .doc-icon{background:linear-gradient(145deg,#8bceac,#41946c);box-shadow:0 4px 0 #276e4b,0 7px 12px #58a37e32}.library-search{padding:22px}.library-search .search-bar{margin:0 0 18px;align-items:end}.search-wide{flex:1}.library-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.document-card{background:#fff;border:1px solid #e4e2f0;border-radius:18px;padding:23px;box-shadow:0 6px 20px #46407106;min-width:0}.document-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.file-symbol{font-size:28px;color:#7264ce;background:#f0edff;border-radius:12px;padding:8px 13px;display:inline-block}.document-card h2{font-size:17px;line-height:1.4;margin:8px 0;overflow-wrap:anywhere}.document-card h2 a{color:#393253}.document-card p{font-size:12px;min-height:45px}.compact-meta{display:grid;grid-template-columns:100px 1fr;gap:8px;font-size:11px}.compact-meta dt{color:#7b7890}.compact-meta dd{margin:0;overflow-wrap:anywhere}.card-foot{border-top:1px solid #eeecf5;margin-top:20px;padding-top:17px;display:flex;justify-content:space-between;gap:10px;font-size:11px}.card-foot span{color:#7a768b}.detail-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}.detail-meta dt{color:#807992;font-size:11px;margin-top:15px}.detail-meta dd{margin:4px 0;font-weight:600;overflow-wrap:anywhere}.detail-layout form label{margin:14px 0}.pdf-preview{width:100%;height:660px;border:1px solid #e0ddec;border-radius:12px;background:#f0eef5}.image-preview{width:100%;max-height:660px;object-fit:contain}.revision-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #e8e5f1;overflow-wrap:anywhere}.document-grid>.empty{grid-column:1/-1}.mobile-dock{display:none}[hidden]{display:none!important}.library-hero .install-app{color:#5147cf}.login-card{border-radius:22px;box-shadow:0 20px 60px #6254b312}.notice{border-radius:12px}h1{overflow-wrap:anywhere}.detail-layout .section-heading{margin-top:0}
@media(min-width:1600px){.category-grid{grid-template-columns:repeat(7,1fr)}}@media(max-width:1150px){.category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-stack{margin-right:0}.library-hero{padding:32px}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:18px 24px}.topbar nav{order:3;flex-basis:100%;overflow:auto}.library-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.hero-stack{display:none}.detail-layout{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.library-hero h1{font-size:37px}.library-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:24px}.library-hero{min-height:0}}@media(max-width:600px){body{padding-bottom:76px}main{padding:18px 14px}.library-hero{padding:25px 22px;border-radius:22px}.library-hero h1{font-size:33px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.category-card{padding:14px 11px;gap:12px}.category-card strong{font-size:11px}.category-card small{font-size:10px}.doc-icon{height:36px;width:36px;font-size:13px}.document-grid{grid-template-columns:1fr}.library-search{padding:16px}.library-search .search-bar{display:grid;grid-template-columns:1fr 1fr}.search-wide{grid-column:1/-1}.library-filter-grid{grid-template-columns:1fr 1fr}.topbar{padding:15px}.topbar nav{gap:0}.topbar nav a{padding:9px;font-size:12px}.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;justify-content:space-around;background:#fffffff5;border-top:1px solid #e1dded;padding:10px 8px max(10px,env(safe-area-inset-bottom));box-shadow:0 -4px 24px #49416b0b}.mobile-dock a{font-size:11px;text-align:center;color:#706887;padding:2px 8px}.mobile-dock b{display:block;font-size:20px;margin-bottom:3px}.mobile-dock a.active{color:#5743c3}.pdf-preview{height:460px}.detail-layout{gap:8px}.form-panel{padding:18px}.card-foot{font-size:11px}.section-heading h2{margin-bottom:10px}.topbar .identity{margin-left:auto}.library-hero .button-row{gap:8px}.library-hero .button{font-size:12px}.revision-row{font-size:12px}footer{flex-wrap:wrap}.library-filter-grid label{min-width:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- Readable registers: bold headings, tinted key columns, status-coloured rows ---- */
th{font-size:12px;font-weight:800;color:#2c2a55;background:#f1effb;letter-spacing:.2px;border-bottom:2px solid #ddd8f3;padding:14px 15px}
th a{color:inherit;text-decoration:underline;text-decoration-color:#c5bdf0;text-underline-offset:3px}
td{font-size:12.5px;color:#2f2f47;padding:14px 15px}
tbody tr:nth-child(even){background:#faf9ff}
tbody tr:hover{background:#f2effd}
.data-table tbody td:first-child,.data-table tbody td:nth-child(2){background:#fbfaff}
.data-table tbody tr:nth-child(even) td:first-child,.data-table tbody tr:nth-child(even) td:nth-child(2){background:#f5f2fd}
.data-table tbody td:first-child{font-weight:650;color:#2b2950}
.numeric-cell{font-variant-numeric:tabular-nums;letter-spacing:.3px}
tr.row-red td:first-child{box-shadow:inset 4px 0 0 #d2576a}
tr.row-amber td:first-child{box-shadow:inset 4px 0 0 #e49a3c}
tr.row-green td:first-child{box-shadow:inset 4px 0 0 #49a278}
tr.row-grey td:first-child{box-shadow:inset 4px 0 0 #b9b6cc}
.badge{font-size:11px;font-weight:700;padding:5px 9px}
.grey{color:#5b5873;background:#eceaf6}
.section-heading.inset{padding:20px 24px 0}

/* ---- KPI cards: larger, legible numbers ---- */
.metric{padding:20px 22px;min-height:118px}
.metric span{font-size:13px;font-weight:650;color:#575573;line-height:1.45}
.metric strong{font-size:38px;font-weight:750;letter-spacing:-1px;color:#3c3480;font-variant-numeric:tabular-nums}
.metric strong.danger{color:#c03046}
.metric small{margin-top:2px;font-size:11px;font-weight:650;color:#6d64a8}
a.kpi-card{text-decoration:none;transition:transform .16s,box-shadow .16s}
a.kpi-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #4a3f9c1f;text-decoration:none}
.kpi-card.alert{border-top-color:#d2576a;background:#fff7f8}

/* ---- Browse: Company / Individual toggle and cards ---- */
.browse-bar{display:flex;gap:12px;align-items:center;padding:16px 18px;flex-wrap:wrap}
.browse-bar input{flex:1;min-width:200px}
.browse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.browse-card{background:#fff;border:1px solid #e4e2f0;border-radius:18px;padding:22px;box-shadow:0 6px 20px #46407106;color:#2f2f47;display:flex;flex-direction:column;gap:6px;transition:transform .16s,box-shadow .16s}
.browse-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #4a3f9c17;text-decoration:none}
.browse-card h3{font-size:16px;margin:4px 0 0;line-height:1.35;overflow-wrap:anywhere}
.browse-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.browse-card .compact-meta{margin:14px 0 0}
.card-link{margin-top:14px;font-size:12px;font-weight:700;color:#5147cf}
.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#9c8bef,#6650ce);color:#fff;font-weight:800;font-size:15px;box-shadow:0 4px 0 #4a359b}
.avatar.large{width:64px;height:64px;font-size:21px;border-radius:18px}

/* ---- Profile ---- */
.profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:8px}
.profile-identity{display:flex;gap:18px;align-items:flex-start}
.profile-identity h1{margin:4px 0 6px}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:10px}
.profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.profile-details dt{margin-top:12px}
.timeline{list-style:none;margin:0;padding:8px 24px 22px}
.timeline li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0 12px 14px;border-bottom:1px solid #efedf7;border-left:4px solid #d9d6ea}
.timeline li:last-child{border-bottom:0}
.timeline li.tone-red{border-left-color:#d2576a}
.timeline li.tone-amber{border-left-color:#e49a3c}
.timeline li.tone-green{border-left-color:#49a278}
.timeline a{color:#312f52;font-size:13px}
.timeline strong{display:block;font-weight:650}

/* ---- Renewal calendar ---- */
.calendar-panel{padding:6px 6px 18px}
table.calendar{table-layout:fixed}
table.calendar th{background:transparent;border-bottom:1px solid #e7e4f4;text-align:center;font-size:11px;letter-spacing:1px;color:#6b6690;padding:12px 4px}
.cal-cell{height:122px;vertical-align:top;border:1px solid #f0eef8;padding:7px 8px;background:#fff;min-width:0;max-width:none}
.cal-cell.outside{background:#fbfaff;color:#aba7c2}
.cal-cell.is-today{outline:2px solid #7765f2;outline-offset:-2px}
.cal-cell.has-items{background:#fdfcff}
.cal-date{font-size:13px;font-weight:700;color:#4a4670}
.cal-cell.outside .cal-date{color:#aba7c2;font-weight:500}
.cal-day-link{display:flex;justify-content:space-between;align-items:center}
.cal-day-link:hover{text-decoration:none}
.cal-count{font-size:10px;font-weight:800;border-radius:20px;padding:2px 8px}
.cal-items{list-style:none;margin:7px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}
.cal-items li{font-size:10.5px;line-height:1.3;padding:3px 6px;border-radius:5px;border-left:3px solid #c9c5de;background:#f4f2fb;color:#44425e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-items li.tone-red{border-left-color:#d2576a;background:#fdeef0;color:#8f2736}
.cal-items li.tone-amber{border-left-color:#e49a3c;background:#fff4e2;color:#8a5713}
.cal-items li.tone-green{border-left-color:#49a278;background:#eaf7f0;color:#226147}
.cal-more a{font-size:10px;font-weight:700}
.calendar-legend{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#625f80;padding:14px 12px 0;flex-wrap:wrap}
.calendar-legend .swatch{width:12px;height:12px;border-radius:4px;display:inline-block;margin-left:12px}
.calendar-legend .swatch:first-child{margin-left:0}
.swatch.red{background:#d2576a}.swatch.amber{background:#e49a3c}.swatch.grey{background:#c9c5de}

@media(max-width:1250px){.browse-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.browse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:1fr}}
@media(max-width:760px){.cal-items{display:none}.cal-cell{height:62px}.calendar-panel{padding:4px}.metric strong{font-size:31px}}
@media(max-width:600px){.browse-grid{grid-template-columns:1fr}.profile-details{grid-template-columns:1fr}.browse-bar{gap:9px}.profile-identity{gap:12px}.avatar.large{width:50px;height:50px;font-size:17px}}
.key-numbers{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:4px 0 20px}
.key-number{background:#fff;border:1px solid #e6e3f2;border-left:4px solid #8c7ee6;border-radius:13px;padding:14px 16px;display:flex;flex-direction:column;gap:5px}
.key-number span:first-child{font-size:11px;font-weight:750;letter-spacing:.6px;color:#6b6690;text-transform:uppercase}
.key-number strong{font-size:16px;font-weight:700;color:#2e2b55;overflow-wrap:anywhere}
.key-number .badge{align-self:flex-start}
@media(max-width:760px){.cal-cell{padding:5px 4px}.cal-date{font-size:11.5px}.cal-count{padding:1px 5px;font-size:9px}.cal-day-link{gap:2px}}

/* ---- Browse: boxed icon tabs instead of an oval pill switch ---- */
.view-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:4px 0 18px}
.toggle-tab{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid #e3e0f1;border-radius:14px;padding:16px 18px;color:#3a3760;box-shadow:0 4px 14px #46407108;transition:border-color .15s,box-shadow .15s,transform .15s}
.toggle-tab:hover{text-decoration:none;border-color:#c3baf0;transform:translateY(-2px);box-shadow:0 10px 22px #4a3f9c14}
.toggle-tab.active{border-color:#6a5ae0;border-width:1.5px;background:linear-gradient(135deg,#f6f4ff,#fff);box-shadow:0 8px 22px #5a4bc81f}
.toggle-icon{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#f0edfd;color:#6a5ae0;font-size:21px;line-height:1}
.toggle-tab.active .toggle-icon{background:linear-gradient(145deg,#8372ec,#5947c9);color:#fff;box-shadow:0 4px 0 #4a359b}
.toggle-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.toggle-text strong{font-size:15px;font-weight:750;letter-spacing:-.2px}
.toggle-text small{margin:0;font-size:11.5px;color:#6f6b90;line-height:1.35}
.toggle-count{flex-shrink:0;min-width:34px;text-align:center;font-size:14px;font-weight:800;color:#5b5485;background:#f1effb;border-radius:9px;padding:6px 10px;font-variant-numeric:tabular-nums}
.toggle-tab.active .toggle-count{background:#6a5ae0;color:#fff}

/* ---- Browse: search row and card / list view switch ---- */
.browse-bar{display:flex;gap:12px;align-items:flex-end;padding:16px 18px;flex-wrap:wrap}
.browse-search{flex:1;min-width:220px}
.view-switch{display:inline-flex;gap:4px;background:#f1effb;border-radius:11px;padding:4px;margin-left:auto}
.view-option{width:40px;height:38px;display:grid;place-items:center;border-radius:8px;font-size:15px;color:#6b6690}
.view-option:hover{text-decoration:none;background:#e6e1fa}
.view-option.active{background:#fff;color:#4436b8;box-shadow:0 2px 6px #4a3f9c1f}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- Browse cards: aligned label/value rows ---- */
.browse-card h3{min-height:0}
.browse-sub{margin-top:2px;min-height:30px}
.browse-meta{display:grid;grid-template-columns:1fr;gap:0;margin:14px 0 0;border-top:1px solid #efedf7;padding-top:4px}
.browse-meta>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid #f4f2fa}
.browse-meta>div:last-child{border-bottom:0}
.browse-meta dt{font-size:11.5px;color:#7b7890;margin:0}
.browse-meta dd{margin:0;font-size:12.5px;font-weight:650;color:#34324f;text-align:right;overflow-wrap:anywhere}
@media(max-width:600px){.view-toggle{grid-template-columns:1fr;gap:10px}.toggle-tab{padding:13px 14px;gap:12px}.toggle-icon{width:40px;height:40px;font-size:18px}.view-switch{margin-left:0}.browse-search{min-width:0;flex-basis:100%}}

/* DocHub finish: a calm, layered workspace with tactile controls. */
body{background:radial-gradient(ellipse at 8% 0%,#eeeaff 0,transparent 34%),radial-gradient(ellipse at 98% 16%,#e4f7f5 0,transparent 28%),linear-gradient(180deg,#f8f8fd,#f3f5fb 70%,#f7f8fc);background-attachment:fixed}
main{min-height:calc(100vh - 145px)}
.topbar{backdrop-filter:blur(16px);border-bottom:1px solid #e9e8f2}
.button,button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.button:hover,button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #49409a1a;text-decoration:none}
.button:active,button:active{transform:translateY(1px);box-shadow:0 2px 5px #49409a16}
.panel{border:1px solid #e8e7f1;box-shadow:0 2px 3px #302d5b05,0 12px 30px #38326909}
.page-heading{align-items:center;margin-bottom:25px}
.page-heading h1{letter-spacing:-1.15px;color:#26264b}
.register-grid{gap:17px}
.register-link{position:relative;overflow:hidden;min-height:152px;padding:22px 24px;background:linear-gradient(145deg,#fff 0%,#fbfaff 70%,#f1f0ff 100%);border:1px solid #e5e2f3;border-radius:19px;box-shadow:0 5px 0 #e5e3f0,0 12px 24px #342f6c0a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.register-link:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#9a8cf1,#5a4bc8)}
.register-link:hover{transform:translateY(-4px);border-color:#cfc8f1;box-shadow:0 8px 0 #dedaf0,0 18px 28px #342f6c12;text-decoration:none}
.register-link:active{transform:translateY(1px);box-shadow:0 2px 4px #342f6c12}
.register-link h2{font-size:17px;color:#33315c;margin:2px 0 8px}.register-link>span{font-size:12px;font-weight:750;color:#5a4bc8}
.section-heading{margin-top:33px}
.register-search{max-width:760px;margin:0 0 18px;display:flex;gap:10px}
.register-search input{flex:1}
.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.month-tile{display:block;min-width:0;padding:17px 18px 14px;background:linear-gradient(145deg,#fff,#faf9ff);border:1px solid #e5e2f2;border-radius:20px;box-shadow:0 5px 0 #e7e4f1,0 12px 25px #3832690a;color:#33314f;transition:transform .18s,box-shadow .18s,border-color .18s}
.month-tile:hover{transform:translateY(-4px);border-color:#cfc7f1;box-shadow:0 8px 0 #dedaf0,0 20px 28px #38326916;text-decoration:none}
.month-tile:active{transform:translateY(1px);box-shadow:0 2px 5px #38326914}
.month-current{background:linear-gradient(145deg,#f8f6ff,#f0efff);border-color:#cfc8f3}
.month-tile-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}.month-tile-head>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}.month-tile-head strong{font-size:15px;color:#32305a}.month-tile-head small{font-size:10px;color:#79768f}.month-arrow{font-weight:800;color:#7769c6}
.month-icon{width:39px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#8e82ed,#6353cf);box-shadow:0 4px 0 #4d3caa,0 7px 12px #6657c42b;color:white;font-size:20px}
.mini-month{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.mini-weekday{font-size:8px;font-weight:800;color:#8e8aa3;padding:3px 0 5px}
.mini-day{font-size:9px;line-height:22px;border-radius:6px;color:#575474;background:#f5f4fb}
.mini-day:nth-child(7n+6),.mini-day:nth-child(7n){background:#f0eff8}
.mini-day.mini-outside{color:#c1bed0;background:transparent}
.mini-day.mini-today{background:#6453d1;color:white;font-weight:800;box-shadow:0 2px 0 #4334a5}
.month-status{display:flex;align-items:center;gap:5px;margin-top:12px;font-size:9px;color:#79758f}.status-dot{width:7px;height:7px;border-radius:50%;margin-left:6px}.status-dot:first-child{margin-left:0}.dot-red{background:#d95768}.dot-amber{background:#e4a044}
.smart-search-form{display:flex;gap:12px;align-items:center;padding:13px 15px;max-width:900px;border-radius:18px;background:linear-gradient(110deg,#fff,#f8f7ff);box-shadow:0 5px 0 #e8e5f1,0 15px 30px #3e39700c}
.smart-search-form input{flex:1;border:0!important;box-shadow:none!important;background:transparent;font-size:16px;min-width:0}.smart-search-icon{font-size:26px;color:#6455c4;padding-left:4px}.smart-hint{font-size:11px;color:#75718a;margin:12px 4px 26px}
.search-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.search-result-panel{padding:18px 20px}.search-result-heading{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #eeecf5}.search-result-heading h2{font-size:16px;margin:0;color:#353258}.search-result-row{display:flex;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid #f0eef6;color:#33314d;min-width:0}.search-result-row:last-child{border:0}.search-result-row:hover{text-decoration:none;background:#faf9ff}.result-icon{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:11px;background:#eeebff;color:#6252c4;font-weight:800;font-size:11px}.result-red{background:#ffedf0;color:#c44456}.result-amber{background:#fff3df;color:#a66d1d}.result-blue{background:#e9f2ff;color:#4775b5}.result-green{background:#e8f7ef;color:#38865f}.result-violet{background:#f0edff;color:#6555c9}.result-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.result-copy strong{font-size:12px;overflow-wrap:anywhere}.result-copy small,.result-date small{font-size:10px;color:#79768b;line-height:1.4}.result-date{display:flex;flex-direction:column;align-items:flex-end;font-size:10px;font-weight:700;color:#514e70;white-space:nowrap}.search-result-panel .empty{padding:18px 0}
@media(max-width:1050px){.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-search-link span{display:none}}
@media(max-width:760px){.month-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.month-tile{padding:14px 12px}.search-results-grid{grid-template-columns:1fr}.register-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.month-grid{gap:10px}.month-tile{border-radius:15px;padding:12px 10px;box-shadow:0 3px 0 #e7e4f1,0 8px 16px #3832690a}.month-tile-head{gap:8px}.month-icon{width:33px;height:33px}.mini-day{line-height:19px;font-size:8px}.month-status{font-size:8px}.register-grid{grid-template-columns:1fr}.register-search{display:flex}.smart-search-form{gap:6px;padding:9px}.smart-search-form input{font-size:13px}.smart-search-form .button{min-height:39px;padding:8px 10px}.topbar{gap:12px}.quick-search-link{padding:8px!important;background:#f0edff;border-radius:10px;font-weight:800}.quick-search-link span{display:none}}
@media(prefers-reduced-motion:reduce){.month-tile,.register-link,.button,button,.search-result-row{transition:none!important}}
.login-wrap{position:relative;padding-top:52px;padding-bottom:50px}.login-wrap:before{content:"";position:absolute;z-index:-1;top:12px;left:50%;width:min(600px,90vw);height:360px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#d9d4ff9c,transparent 70%);filter:blur(8px)}
.login-card{border:1px solid #e6e3f2;background:linear-gradient(145deg,#fff,#fbfaff);box-shadow:0 7px 0 #e7e4f1,0 25px 65px #39337316;padding:30px}.login-card h2{color:#302d59}.login-card button{width:100%;margin-top:10px}

/* ---------- Left navigation rail (replaces the old top menu) ---------- */
body.with-sidenav{display:flex;align-items:flex-start;min-height:100vh}
.shell{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}
.shell main{flex:1}
.sidenav{position:sticky;top:0;flex:0 0 248px;width:248px;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:22px 14px;background:rgba(255,255,255,.96);border-right:1px solid #e6e3f3;box-shadow:4px 0 24px #37326d08;z-index:10}
.sidenav .brand{padding:4px 10px 18px;gap:12px;align-items:center}
.sidenav nav{display:flex;flex-direction:column;gap:3px}
.sidenav nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:11px;font-weight:600;font-size:13px;color:#526379;white-space:nowrap}
.sidenav nav a b{font-size:16px;line-height:1;width:20px;text-align:center;color:#8279c4;font-weight:400}
.sidenav nav a:hover{background:#f2f0ff;text-decoration:none}
.sidenav nav a.active{background:#eeebff;color:#4f43be}
.sidenav nav a.active b{color:#5f52d2}
/* The top bar now carries only Smart Search and the signed-in identity. */
body.with-sidenav .topbar{gap:16px;justify-content:flex-end;padding:14px 32px}
body.with-sidenav .topbar .identity{margin-left:0}

@media(max-width:1000px){
 /* Fold the rail back into a horizontal strip so nothing needs a menu button. */
 body.with-sidenav{display:block}
 .sidenav{position:static;flex-basis:auto;width:auto;height:auto;flex-direction:row;align-items:center;gap:18px;padding:12px 18px;border-right:0;border-bottom:1px solid #e6e3f3}
 .sidenav .brand{padding:0;flex-shrink:0}
 .sidenav nav{flex-direction:row;gap:4px;overflow-x:auto;flex:1}
 .sidenav nav a{padding:9px 11px}
 .sidenav nav a b{display:none}
 .shell{min-height:0}
}
@media(max-width:600px){
 .sidenav{gap:10px;padding:12px}
 .sidenav .brand small{display:none}
 .sidenav nav a{padding:8px 9px;font-size:12px}
 body.with-sidenav .topbar{padding:12px 15px}
}

/* ---------- Documents: one thick-bordered row per document ---------- */
.document-rows{display:flex;flex-direction:column;gap:14px;margin-bottom:6px}
.document-row{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,2.4fr) auto;align-items:center;gap:22px;background:#fff;border:3px solid #ded9f4;border-radius:14px;padding:18px 22px;min-width:0}
.document-row:hover{border-color:#b7acea}
.row-main{display:flex;align-items:center;gap:15px;min-width:0}
.row-main .file-symbol{flex-shrink:0}
.row-title{min-width:0}
.row-title h2{font-size:16px;margin:3px 0;overflow-wrap:anywhere}
.row-title h2 a{color:#393253}
.row-title small{margin:0}
.row-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;font-size:11px;min-width:0}
.row-meta dt{color:#7b7890;margin-bottom:3px}
.row-meta dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.row-end{display:flex;align-items:center;gap:14px;flex-shrink:0}
.row-actions{display:flex;gap:8px;align-items:center}
.row-actions .button{font-size:12px;padding:8px 14px;min-height:38px}
.no-file{white-space:nowrap}
.document-rows>.empty{border-radius:14px}

@media(max-width:1250px){
 .document-row{grid-template-columns:minmax(0,1fr) auto;gap:16px}
 .row-meta{grid-column:1/-1;order:3;border-top:1px solid #efedf7;padding-top:12px}
}
@media(max-width:700px){
 .document-row{grid-template-columns:1fr;padding:16px;gap:14px}
 .row-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
 .row-end{order:4;justify-content:space-between;flex-wrap:wrap}
 .row-actions{flex:1;justify-content:flex-end}
}

/* ---------- Hide / show toggles ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.icon-toggle{display:inline-grid;place-items:center;width:42px;min-height:42px;padding:0;border-radius:11px;font-size:16px;line-height:1;margin-right:auto}
.icon-toggle .eye-shut{display:none}
body.nav-hidden .icon-toggle .eye-open{display:none}
body.nav-hidden .icon-toggle .eye-shut{display:inline}
body.nav-hidden .sidenav{display:none}
.kpi-bar{display:flex;justify-content:flex-end;margin:14px 0 -6px}
.kpi-bar .button{font-size:12px;padding:8px 14px;min-height:38px}
@media(max-width:1000px){.icon-toggle{margin-right:8px}}

/* ---------- Reports: View beside Download ---------- */
.report-actions{align-items:center;gap:8px;margin-top:4px}
.report-actions .button{font-size:12px;padding:8px 14px;min-height:38px}
.report-actions .muted{flex-basis:100%;margin-bottom:2px}
