:root{color-scheme:light;--bg: #f4efe5;--bg-deep: #dbc8ab;--ink: #14202b;--ink-soft: #435463;--panel: rgba(255, 250, 243, .88);--panel-strong: #fff9ef;--line: rgba(20, 32, 43, .12);--accent: #9b2c1f;--accent-strong: #6a1b14;--accent-soft: rgba(155, 44, 31, .08);--success: #204f42;--shadow: 0 24px 70px rgba(20, 32, 43, .14);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 16px;--radius-sm: 12px;--font-body: "Aptos", "Segoe UI Variable", "Segoe UI", sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Georgia, serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at top left,rgba(155,44,31,.2),transparent 30%),radial-gradient(circle at top right,rgba(30,79,66,.18),transparent 24%),linear-gradient(135deg,#f8f3ea,#f3ede3 35%,#e8dbc2)}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.screen{min-height:100vh}.auth-screen{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,440px);gap:2rem;align-items:stretch;padding:2rem}.auth-hero,.auth-panel .panel-shell,.loader-card,.sidebar-panel,.viewer-panel{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:var(--panel);border:1px solid rgba(255,255,255,.55);box-shadow:var(--shadow)}.auth-hero{position:relative;overflow:hidden;padding:3rem;border-radius:var(--radius-xl)}.auth-hero:after{content:"";position:absolute;inset:auto -90px -90px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#9b2c1f2e,#9b2c1f00 72%)}.auth-panel{display:flex;align-items:center}.panel-shell{width:100%;padding:2rem;border-radius:var(--radius-xl)}.panel-header h2,.auth-hero h1,.portal-header h1,.loader-card h1,.viewer-header h3{margin:.35rem 0 0;font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}.auth-hero h1,.portal-header h1,.loader-card h1{font-size:clamp(2.3rem,4vw,4.6rem)}.eyebrow,.panel-kicker,.summary-label,.rule-title{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.hero-copy,.rule-detail,.summary-help,.security-card li,.empty-state p,.viewer-empty p,.form-error{color:var(--ink-soft);line-height:1.6}.hero-copy{max-width:48rem;margin-top:1rem;font-size:1.05rem}.rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.25rem}.rule-card,.summary-card,.security-card,.document-card,.loader-card,.revoked-banner{border-radius:var(--radius-lg);border:1px solid var(--line)}.rule-card{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem;background:#ffffff8a}.auth-form{display:grid;gap:1rem}.auth-form label{display:grid;gap:.45rem}.auth-form label span{font-weight:700;color:var(--ink)}.auth-form input{width:100%;border:1px solid rgba(20,32,43,.16);border-radius:var(--radius-sm);background:#ffffffe6;padding:.95rem 1rem;color:var(--ink);outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.auth-form input:focus{border-color:#9b2c1f7a;box-shadow:0 0 0 4px #9b2c1f1c;transform:translateY(-1px)}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:999px;padding:.95rem 1.4rem;font-weight:800;letter-spacing:.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff8f1;box-shadow:0 16px 40px #6a1b1440}.secondary-button{background:#14202b14;color:var(--ink)}.ghost-button{background:transparent;color:var(--accent);border:1px solid rgba(155,44,31,.25)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}.form-error{margin:0;border-radius:var(--radius-sm);background:#9b2c1f14;padding:.8rem .95rem}.loading-screen,.viewer-empty{display:grid;place-items:center}.loader-card{max-width:32rem;padding:2.25rem;border-radius:var(--radius-xl)}.portal-screen{padding:1.5rem}.secure-surface{user-select:none;-webkit-user-select:none}.portal-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:0 0 1.5rem}.portal-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.revoked-banner{margin-bottom:1rem;padding:.95rem 1rem;background:#9b2c1f14;color:var(--accent-strong)}.portal-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1.25rem;align-items:start}.sidebar-panel,.viewer-panel{border-radius:var(--radius-xl);padding:1rem}.sidebar-panel{display:grid;gap:1rem;position:sticky;top:1rem}.summary-card,.security-card{background:#ffffff9e;padding:1rem}.summary-card strong{display:block;margin-top:.35rem;font-size:1.05rem}.security-card h3{margin:0 0 .8rem;font-family:var(--font-display);font-size:1.15rem}.security-card ul{margin:0;padding-left:1.15rem;display:grid;gap:.65rem}.document-list{display:grid;gap:.8rem}.document-card{display:grid;gap:.45rem;text-align:left;background:#fff9ef;padding:1rem}.document-card--active{border-color:#9b2c1f59;background:linear-gradient(135deg,#9b2c1f1c,#fff9efe6)}.document-card__title{font-weight:800;color:var(--ink)}.document-card__meta{color:var(--ink-soft);font-size:.92rem}.empty-state,.viewer-empty{border-radius:var(--radius-lg);background:#ffffff94;border:1px dashed rgba(20,32,43,.18);padding:1.25rem}.viewer-shell{display:grid;gap:1rem}.viewer-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.5rem}.viewer-header h3{font-size:clamp(1.55rem,2.2vw,2.25rem)}.viewer-meta{display:grid;gap:.35rem;text-align:right;color:var(--ink-soft);font-size:.92rem}.viewer-pages{display:grid;gap:1.2rem}.page-frame{margin:0;background:linear-gradient(180deg,#14202b0f,#14202b08);border-radius:24px;border:1px solid rgba(20,32,43,.08);padding:.9rem}.page-frame figcaption{margin-bottom:.7rem;color:var(--ink-soft);font-size:.92rem;font-weight:700}.page-frame img{border-radius:16px;border:1px solid rgba(20,32,43,.12);box-shadow:0 18px 35px #14202b1f;pointer-events:none}@media (max-width: 1180px){.auth-screen,.portal-grid{grid-template-columns:1fr}.sidebar-panel{position:static}.rule-grid{grid-template-columns:1fr}}@media (max-width: 780px){.auth-screen,.portal-screen{padding:1rem}.auth-hero,.panel-shell,.sidebar-panel,.viewer-panel{padding:1.25rem}.portal-header,.viewer-header{flex-direction:column}.portal-actions{width:100%;justify-content:stretch}.portal-actions button{flex:1 1 100%}.viewer-meta{text-align:left}}
