:root{--color-primary: #0b3d62;--color-primary-dark: #06283f;--color-accent: #1396a0;--color-accent-light: #e3f4f4;--color-bg: #f4f6f8;--color-surface: #ffffff;--color-border: #e1e6ea;--color-text: #1a2430;--color-text-muted: #5b6b79;--color-danger: #b3261e;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 24px rgba(16, 24, 40, .12)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text)}button{font-family:inherit}.platform-status{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--color-text-muted)}.platform-header{background:var(--color-primary);padding:var(--space-4) var(--space-8)}.platform-wordmark{color:#fff;font-weight:700;font-size:var(--text-lg);letter-spacing:.01em}.platform-hero{max-width:720px;margin:var(--space-8) auto var(--space-6);padding:0 var(--space-6);text-align:center}.platform-hero h1{font-size:var(--text-2xl);color:var(--color-primary-dark);margin-bottom:var(--space-2)}.platform-hero p{color:var(--color-text-muted);font-size:var(--text-base)}.assistant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);max-width:960px;margin:0 auto var(--space-8);padding:0 var(--space-6)}.assistant-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);transition:box-shadow .15s ease,transform .15s ease}.assistant-card:not(.assistant-card-disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.assistant-card-disabled{opacity:.6}.assistant-card-badge{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-accent-light);color:var(--color-accent);font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.assistant-card h2{font-size:var(--text-lg);margin:0 0 var(--space-2);color:var(--color-primary-dark)}.assistant-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-4)}.assistant-card button{background:var(--color-accent);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600}.assistant-card button:hover{background:var(--color-primary)}.assistant-card-status{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.app-header{background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-8) var(--space-4)}.back-link{background:none;border:none;color:#fffc;cursor:pointer;font-size:var(--text-xs);padding:0;margin-bottom:var(--space-3)}.back-link:hover{color:#fff}.app-header-main{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.app-header-main h1{font-size:var(--text-xl);margin:0}.app-controls select{margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid transparent}.app-tabs{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.tab-pill{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-muted)}.tab-pill:hover{border-color:var(--color-accent)}.tab-pill.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}main{max-width:880px;margin:var(--space-6) auto;padding:0 var(--space-6)}main h2{color:var(--color-primary-dark)}.chat-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.chat-messages{display:flex;flex-direction:column;gap:var(--space-3);min-height:300px;max-height:50vh;overflow-y:auto}.chat-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg);max-width:90%}.chat-message-user{align-self:flex-end;background:var(--color-accent-light)}.chat-promote-btn{margin-top:var(--space-2);font-size:var(--text-xs);padding:1px var(--space-2);background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);border-radius:999px}.chat-message p{margin:0}.markdown-content :first-child{margin-top:0}.markdown-content :last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--color-primary-dark);font-size:var(--text-base)}.chat-input-row{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.chat-input-row input{flex:1;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.chat-input-row button{background:var(--color-accent);color:#fff;border:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.chat-loading{color:var(--color-text-muted)}.chat-error{color:var(--color-danger)}.source-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm);background:var(--color-surface)}.source-card-header{display:flex;justify-content:space-between;font-weight:600;color:var(--color-primary-dark)}.clause-explorer,.doc-checklist{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.clause-layout{display:flex;gap:var(--space-6);margin-top:var(--space-4)}.clause-list-panel{flex:0 0 220px}.clause-search{width:100%;padding:var(--space-2);margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.clause-list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.clause-list-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-2);border:none;background:none;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left}.clause-list-item.active{background:var(--color-accent-light)}.clause-number{font-weight:600;color:var(--color-primary-dark)}.clause-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.clause-empty{padding:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.clause-detail{flex:1}.clause-entry{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);background:var(--color-bg)}.clause-entry-header{display:flex;justify-content:space-between;font-weight:600;color:var(--color-primary-dark);margin-bottom:var(--space-2)}.clause-entry-text{font-size:var(--text-sm);white-space:pre-wrap}.doc-checklist-section{margin-bottom:var(--space-6)}.doc-checklist-section ul{list-style:none;margin:0;padding:0}.doc-checklist-item{padding:var(--space-2) 0}.doc-checklist-item label{display:flex;align-items:center;gap:var(--space-2)}.doc-checklist-references{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.gap-analyser-upload{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.gap-analyser-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.gap-analyser-severity{display:inline-block;font-size:var(--text-xs);border-radius:999px;padding:1px var(--space-2);margin-left:var(--space-2)}.gap-analyser-severity-missing{background:#fde2e2;color:#a01e1e}.gap-analyser-severity-partial{background:var(--color-accent-light);color:var(--color-accent)}.gap-analyser-severity-fail{background:#fde2e2;color:#a01e1e}.gap-analyser-severity-pass{background:#dff5e1;color:#1e7a32}.gap-analyser-severity-unclear,.gap-analyser-severity-not_applicable{background:var(--color-bg);color:var(--color-text-muted)}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--color-bg)}.login-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-8);width:360px}.login-card h1{margin:0;color:var(--color-primary-dark);font-size:var(--text-xl)}.login-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-6)}.login-card form{display:flex;flex-direction:column;gap:var(--space-2)}.login-card label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.login-card input{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:var(--text-base);margin-bottom:var(--space-2)}.login-card button[type=submit]{background:var(--color-accent);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.login-back{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);text-decoration:underline;padding:var(--space-1) 0}.login-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.login-error{color:var(--color-danger);font-size:var(--text-sm);margin-top:var(--space-3)}.admin-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.admin-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.admin-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}.admin-table th,.admin-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.admin-table-actions{display:flex;gap:var(--space-2)}.admin-analytics-stats{display:flex;gap:var(--space-4);margin:var(--space-4) 0}.admin-analytics-stat{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md, 6px)}.admin-analytics-stat strong{font-size:var(--text-xl, 1.5rem)}.admin-analytics-stat span{color:var(--color-text-muted);font-size:var(--text-sm)}.admin-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-4)}.admin-form{display:flex;flex-direction:column;gap:var(--space-1);max-width:480px}.admin-form label{font-size:var(--text-sm);font-weight:600;margin-top:var(--space-2)}.admin-form input,.admin-form select,.admin-form textarea{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:var(--text-base);font-family:inherit}.admin-checkbox{display:flex;align-items:center;gap:var(--space-2);flex-direction:row!important}.admin-form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.admin-form button,.admin-panel>button{background:var(--color-accent);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--text-sm);align-self:flex-start;margin-top:var(--space-3)}.admin-secondary{background:var(--color-bg)!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important}.admin-danger{background:var(--color-danger)!important}.admin-upload{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border);max-width:600px}.admin-upload input[type=file]{display:block;margin:var(--space-2) 0 var(--space-4)}.admin-aws-hint{background:var(--color-accent-light);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.admin-aws-hint h3{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-primary-dark)}.admin-aws-hint .admin-hint{margin-bottom:var(--space-2)}.admin-aws-hint code{background:var(--color-surface);padding:0 var(--space-1);border-radius:4px}.admin-roadmap-group{margin-bottom:var(--space-6)}.admin-roadmap-group h3{color:var(--color-primary-dark);font-size:var(--text-base);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.admin-roadmap-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.admin-roadmap-item-main p{color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-1) 0 var(--space-3)}.admin-roadmap-category,.admin-roadmap-adr{display:inline-block;font-size:var(--text-xs);color:var(--color-accent);background:var(--color-accent-light);border-radius:999px;padding:1px var(--space-2);margin-left:var(--space-2)}.admin-roadmap-discuss{margin-top:var(--space-3);border-top:1px dashed var(--color-border);padding-top:var(--space-3)}.admin-roadmap-threads{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.admin-roadmap-thread-row{display:flex;align-items:center;gap:var(--space-1)}.admin-roadmap-promote{margin-top:var(--space-3);border:1px solid var(--color-accent)}.admin-roadmap-notes{background:var(--color-accent-light);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-2)}.admin-roadmap-conclusion{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.admin-roadmap-conclusion label{font-size:var(--text-sm);font-weight:600}.admin-roadmap-conclusion textarea{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-family:inherit;min-height:60px}.admin-roadmap-conclusion button{align-self:flex-start}
