:root{--dk-blue: #0a2d8f;--dk-blue-2: #14207a;--dk-red: #e2001a;--bg: #eef1f8;--card: #ffffff;--card-alt: #f4f6fc;--border: #c3cdec;--text: #24303f;--muted: #5a6577;--green: #2e7d32;--orange: #e67e00;--shadow: 0 2px 14px rgba(10, 45, 143, .08)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:15px}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.btn{border:none;border-radius:8px;padding:10px 18px;font-weight:600;font-size:.95rem;transition:filter .15s,transform .05s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--dk-blue);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.12)}.btn-red{background:var(--dk-red);color:#fff}.btn-red:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{background:#eaeefb;color:var(--dk-blue)}.btn-ghost:hover:not(:disabled){background:#dde4f8}.btn-full{width:100%}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a2d8f,#14207a 55%,#0a1f66);padding:20px}.login-card{background:#fff;width:100%;max-width:400px;border-radius:16px;padding:34px 32px 28px;box-shadow:0 18px 50px #00000047}.login-logo{text-align:center;margin-bottom:18px}.login-logo img{max-width:190px}.login-card h2{color:var(--dk-blue);text-align:center;margin:6px 0 4px;font-size:1.3rem}.login-card .sub{text-align:center;color:var(--muted);font-size:.85rem;margin-bottom:22px}.field{margin-bottom:14px}.field label{display:block;font-weight:600;font-size:.85rem;margin-bottom:5px;color:var(--text)}.field input{width:100%;padding:11px 13px;border:1px solid #cfd6e6;border-radius:8px;font-size:.95rem;outline:none;transition:border .15s,box-shadow .15s}.field input:focus{border-color:var(--dk-blue);box-shadow:0 0 0 3px #0a2d8f1f}.login-hint{text-align:center;margin-top:16px;font-size:.78rem;color:var(--muted)}.error-box{background:#fde8ea;border:1px solid #f5c2c7;color:#b02a37;padding:10px 12px;border-radius:8px;font-size:.85rem;margin-bottom:12px}.app-shell{display:flex;min-height:100vh}.sidebar{width:320px;flex-shrink:0;background:#f7f9fd;border-right:1px solid #dbe2f1;padding:18px 18px 30px;overflow-y:auto;height:100vh;position:sticky;top:0}.sidebar-logo{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:14px;text-align:center;margin-bottom:16px}.sidebar-logo img{max-width:150px}.sidebar h3{color:var(--dk-blue);margin:0 0 4px;font-size:1.05rem}.sidebar .caption{color:var(--muted);font-size:.8rem;line-height:1.4}.sidebar hr{border:none;border-top:1px solid #e0e6f2;margin:16px 0}.sidebar h4{margin:0 0 10px;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.side-field{margin-bottom:11px}.side-field label{display:block;font-size:.78rem;font-weight:600;margin-bottom:4px}.side-field input{width:100%;padding:8px 10px;border:1px solid #cfd6e6;border-radius:7px;font-size:.85rem;outline:none}.side-field input:focus{border-color:var(--dk-blue)}.step{display:flex;align-items:center;gap:8px;font-size:.86rem;margin-bottom:7px}.step .box{font-size:1rem}.metric{background:#fff;border:1px solid #e4e9f5;border-radius:8px;padding:8px 11px;margin-bottom:8px}.metric .label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.metric .value{font-size:1.02rem;font-weight:700;color:var(--dk-blue)}.logout-row{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-bottom:12px}.logout-row a{color:var(--dk-red);cursor:pointer;font-weight:600}.main{flex:1;padding:22px 26px 60px;max-width:1400px;margin:0 auto;width:100%}.main-header{background:linear-gradient(135deg,var(--dk-blue) 0%,var(--dk-blue-2) 100%);padding:1.25rem 1.6rem;border-radius:12px;margin-bottom:1.4rem;color:#fff;display:flex;align-items:center;gap:1.3rem;box-shadow:var(--shadow)}.main-header .accent{width:6px;align-self:stretch;background:var(--dk-red);border-radius:3px}.main-header img{height:58px;background:#fff;padding:7px 11px;border-radius:8px}.main-header h1{margin:0;font-size:1.55rem;display:flex;align-items:center;gap:10px}.main-header p{margin:.3rem 0 0;opacity:.9;font-size:.88rem}.kritis-badge{background:var(--dk-red);color:#fff;font-size:.62rem;font-weight:700;padding:3px 10px;border-radius:12px;letter-spacing:.5px;vertical-align:middle}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media (max-width: 980px){.grid-2{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid #e2e8f5;border-radius:12px;padding:18px;box-shadow:var(--shadow);margin-bottom:22px}.panel h2{margin:0 0 14px;font-size:1.12rem;color:var(--text);display:flex;align-items:center;gap:8px}.dropzone{border:2px dashed #b9c4e4;border-radius:10px;padding:26px;text-align:center;color:var(--muted);cursor:pointer;transition:border .15s,background .15s}.dropzone:hover{border-color:var(--dk-blue);background:#f6f8ff}.dropzone.drag{border-color:var(--dk-blue);background:#eef2ff}.preview-img{width:100%;border-radius:10px;margin:12px 0;border:1px solid #e0e6f2}.analysis-card{background:var(--card-alt);border:1px solid var(--border);border-left:4px solid var(--dk-blue);border-radius:8px;padding:14px 16px;margin:12px 0;line-height:1.65;font-size:.9rem}.reco-pill{display:inline-block;color:#fff;font-weight:700;padding:3px 12px;border-radius:14px;font-size:.8rem}.accordion{border:1px solid #e2e8f5;border-radius:8px;margin-top:10px;overflow:hidden}.accordion summary{padding:10px 14px;cursor:pointer;font-weight:600;font-size:.9rem;background:#f6f8ff;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion .acc-body{padding:10px 14px;font-size:.88rem}.accordion .acc-body .item{padding:5px 0;border-bottom:1px dashed #e6ebf5}.accordion .acc-body .item:last-child{border-bottom:none}.prio-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.chat-box{height:430px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#fbfcfe;border:1px solid #e6ebf5;border-radius:10px;padding:12px}.msg{max-width:88%;padding:10px 14px;border-radius:12px;font-size:.9rem;line-height:1.55;white-space:pre-wrap}.msg.assistant{background:#eef2ff;border:1px solid #dbe2f8;align-self:flex-start;border-bottom-left-radius:3px}.msg.user{background:var(--dk-blue);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}.chat-input-row{display:flex;gap:8px;margin-top:12px}.chat-input-row input{flex:1;padding:11px 14px;border:1px solid #cfd6e6;border-radius:8px;font-size:.92rem;outline:none}.chat-input-row input:focus{border-color:var(--dk-blue)}.chat-empty{color:var(--muted);text-align:center;padding:40px 10px;font-size:.9rem}.export-list{font-size:.9rem;line-height:1.9;color:var(--text)}.dl-row{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.warn-box{background:#fff6e5;border:1px solid #f3d79a;color:#8a5a00;padding:10px 12px;border-radius:8px;font-size:.85rem;margin:12px 0}.info-box{background:#eaf1ff;border:1px solid #c5d5f5;color:var(--dk-blue);padding:12px 14px;border-radius:8px;font-size:.88rem}.success-box{background:#e7f6e9;border:1px solid #b6e0bd;color:#1e6b28;padding:10px 12px;border-radius:8px;font-size:.86rem;margin-top:12px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:8px}.spinner.blue{border:2px solid rgba(10,45,143,.25);border-top-color:var(--dk-blue)}@keyframes spin{to{transform:rotate(360deg)}}
