:root{--pri:#1a5276;--pri-l:#eaf2f8;--suc:#27ae60;--inf:#2980b9;--pur:#8e44ad;--dan:#e74c3c;--war:#f39c12;--gra:#95a5a6;--txt:#1a1a2e;--txl:#5d6d7e;--txm:#7f8c8d;--brd:#d5dbdb;--brl:#eaecee;--bg:#f0f4f8;--crd:#fff;--fn:'Segoe UI','Helvetica Neue',Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--fn);background:var(--bg);color:var(--txt)}
#app{max-width:960px;margin:0 auto;padding:0 16px 70px;min-height:100vh}
.header{text-align:center;padding:24px 0 10px;border-bottom:3px solid var(--pri);margin-bottom:4px}
.header h1{font-size:26px;font-weight:700;color:var(--pri)}.header p{font-size:13px;color:var(--txl);margin-top:4px}
.flash{text-align:center;padding:10px;margin:8px 0;border-radius:8px;font-weight:600;font-size:14px;display:none}
.flash.show{display:block}.flash.ok{background:#e8f5e9;color:#2e7d32}.flash.warn{background:#fff3e0;color:#e65100}
.nav{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin:12px 0 16px;background:var(--crd);border-radius:12px;padding:6px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.nav button{padding:10px 14px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;background:transparent;color:#34495e;display:flex;align-items:center;gap:5px;font-family:var(--fn);transition:all .15s}
.nav button:hover{background:var(--pri-l)}.nav button.active{font-weight:700;background:var(--pri);color:#fff}
.card{background:var(--crd);border-radius:12px;padding:20px 24px;margin-bottom:16px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.ct{font-size:17px;font-weight:700;color:var(--pri);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--brl)}
.ct.danger{color:var(--dan)}.dz{border-top:3px solid var(--dan)}
.fl{display:block;font-size:12px;font-weight:600;color:var(--txl);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.fi{width:100%;padding:9px 12px;border:1.5px solid var(--brd);border-radius:8px;font-size:14px;font-family:var(--fn);outline:none;transition:border .2s}
.fi:focus{border-color:var(--pri)}select.fi{background:#fff}textarea.fi{resize:vertical;min-height:60px}.fi.big{font-size:20px;font-weight:700;text-align:center}
.fg{margin-bottom:12px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.g4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}
.span2{grid-column:span 2}
.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:#fff;font-family:var(--fn);transition:opacity .2s;display:inline-block}
.btn:hover{opacity:.88}.bp{background:var(--pri)}.bs{background:var(--suc)}.bi{background:var(--inf)}.bpu{background:var(--pur)}.bd{background:var(--dan)}.bg{background:var(--gra)}
.bo{padding:8px 16px;border:2px solid var(--pri);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;background:transparent;color:var(--pri);font-family:var(--fn);transition:all .15s}
.bo:hover{background:var(--pri-l)}.bo.active{background:var(--pri);color:#fff}
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}
table.dt{width:100%;border-collapse:collapse;font-size:13px}
table.dt th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--brd);color:var(--txl);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
table.dt td{padding:8px 10px;border-bottom:1px solid var(--brl)}
.del{background:none;border:none;cursor:pointer;color:var(--dan);font-size:16px;padding:2px 6px}.del:hover{color:#c0392b}
.ts{overflow-x:auto;-webkit-overflow-scrolling:touch}.ts table{min-width:600px}
.who-bar{display:flex;flex-wrap:wrap;gap:6px}.who-p{margin-top:8px;padding:10px 16px;border-radius:8px;text-align:center;border:2px solid}
.sb{padding:16px;border-radius:8px;text-align:center}.sn{font-size:28px;font-weight:800}.sl{font-size:12px;color:var(--txl);font-weight:600}
.ab{text-align:center;padding:16px;border-radius:8px}.at{font-size:11px;font-weight:600;color:var(--txl);text-transform:uppercase}.av{font-size:32px;font-weight:800}.au{font-size:11px;color:var(--txm)}
.ni{padding:12px 0;border-bottom:1px solid var(--brl);display:flex;justify-content:space-between;align-items:flex-start}
.nt{font-weight:700;color:var(--pri)}.nm{font-size:12px;color:var(--txm);margin-top:2px}.nb{font-size:13px;margin-top:6px;color:#34495e;line-height:1.5}
.ib{margin-top:16px;padding:20px;background:#fef9e7;border-radius:10px;border:2px solid var(--war)}
.cw{width:100%;height:320px;position:relative}
.doc-card{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:8px;border-left:4px solid var(--pri)}
.doc-card h4{color:var(--pri);margin-bottom:8px;font-size:14px}.doc-card p{font-size:13px;color:#34495e;margin:2px 0}
input[type="checkbox"]{width:16px;height:16px;accent-color:var(--pur);cursor:pointer}
.fab{position:fixed;bottom:20px;right:20px;padding:12px 20px;border:none;border-radius:30px;cursor:pointer;font-size:14px;font-weight:700;background:var(--pri);color:#fff;box-shadow:0 4px 12px rgba(26,82,118,.3);z-index:100;font-family:var(--fn)}
.center{text-align:center}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.empty{color:var(--gra);text-align:center;padding:20px}

/* ─── Login ─── */
.login-wrap{max-width:420px;margin:60px auto;padding:0 16px}
.login-card{background:#fff;border-radius:16px;padding:40px 32px;box-shadow:0 4px 20px rgba(0,0,0,.08)}
.login-card h2{text-align:center;color:var(--pri);margin-bottom:24px;font-size:22px}
.login-card .fi{margin-bottom:12px}
.login-card .btn{width:100%;padding:12px;font-size:15px;margin-top:8px}
.login-toggle{text-align:center;margin-top:16px;font-size:13px;color:var(--txl)}
.login-toggle a{color:var(--pri);cursor:pointer;text-decoration:underline}
.login-error{background:#ffebee;color:#c62828;padding:10px;border-radius:8px;font-size:13px;margin-bottom:12px;text-align:center;display:none}
.login-consent{font-size:12px;color:var(--txl);margin-top:12px;line-height:1.5}
.login-consent input{margin-right:6px;vertical-align:middle}

/* ─── Cookie Banner ─── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1a1a2e;color:#fff;padding:16px 24px;z-index:1000;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;font-size:13px;box-shadow:0 -2px 10px rgba(0,0,0,.2)}
.cookie-banner a{color:#a8d8ff;text-decoration:underline}
.cookie-banner button{padding:8px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-family:var(--fn)}
.cookie-accept{background:var(--suc);color:#fff}
.cookie-reject{background:transparent;color:#fff;border:1px solid #fff!important}

/* ─── Footer ─── */
.app-footer{text-align:center;padding:20px 0;margin-top:20px;font-size:12px;color:var(--txm);border-top:1px solid var(--brl)}
.app-footer a{color:var(--txl);margin:0 8px;text-decoration:none}.app-footer a:hover{color:var(--pri);text-decoration:underline}

/* ─── Legal Pages ─── */
.legal-page{max-width:800px;margin:0 auto;padding:20px 24px 60px}
.legal-header{padding:20px 0;border-bottom:2px solid var(--pri);margin-bottom:24px}
.legal-header .logo{font-size:22px;font-weight:700;color:var(--pri);text-decoration:none}
.legal-content h1{font-size:24px;color:var(--pri);margin-bottom:16px}
.legal-content h2{font-size:18px;color:var(--pri);margin:24px 0 8px;padding-top:16px;border-top:1px solid var(--brl)}
.legal-content h3{font-size:15px;color:#34495e;margin:16px 0 6px}
.legal-content p,.legal-content li{font-size:14px;line-height:1.7;color:#34495e;margin-bottom:8px}
.legal-content ul{padding-left:24px;margin-bottom:12px}
.legal-content table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}
.legal-content th,.legal-content td{padding:8px 12px;border:1px solid var(--brd);text-align:left}
.legal-content th{background:var(--pri-l);color:var(--pri);font-weight:600}
.legal-content a{color:var(--pri)}
.legal-footer{padding:20px 0;border-top:1px solid var(--brl);margin-top:30px;font-size:13px;color:var(--txl)}
.legal-footer a{color:var(--pri);text-decoration:none;margin-right:8px}

/* ─── User Menu ─── */
.user-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;color:var(--txl)}
.user-bar button{background:none;border:none;color:var(--dan);cursor:pointer;font-family:var(--fn);font-size:13px;font-weight:600}
.user-bar button:hover{text-decoration:underline}

/* ─── Print ─── */
@media print{body{background:white!important}.no-print{display:none!important}.print-only{display:block!important}.card{box-shadow:none!important;break-inside:avoid}.fab,.nav,.flash,.cookie-banner,.app-footer,.user-bar{display:none!important}}
.print-only{display:none}

/* ─── Mobile ─── */
@media(max-width:600px){
  .g2,.g3,.g4{grid-template-columns:1fr!important}.span2{grid-column:span 1}
  .nav{gap:2px;padding:4px}.nav button{padding:8px 8px;font-size:12px}.nav .nl{display:none}
  .card{padding:14px 16px}.fi.big{font-size:18px}.av{font-size:24px}
  .fab{bottom:12px;right:12px;padding:10px 14px;font-size:13px}
  .login-card{padding:28px 20px}
  .cookie-banner{flex-direction:column;text-align:center;padding:12px 16px}
}
