:root{--navy:#07162f;--navy-2:#102a50;--gold:#cba64b;--cream:#f7f4ec;--paper:#fffefa;--ink:#17233a;--muted:#687286;--line:#e4e5e8}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:28px 18px 20px;display:flex;position:sticky;top:0;box-shadow:8px 0 30px #07162f1f}.brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark{border:1px solid var(--gold);width:43px;height:43px;color:var(--gold);letter-spacing:.08em;place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.brand strong,.brand span{display:block}.brand strong{font:600 18px Georgia,serif}.brand span{color:#b7c0cf;margin-top:3px;font-size:11px}.nav-label{color:var(--gold);letter-spacing:.18em;margin:26px 10px 10px;font-size:10px;font-weight:700}nav{gap:4px;display:grid}nav a{color:#c8d0dc;border-radius:7px;align-items:center;gap:12px;padding:11px 12px;font-size:13px;text-decoration:none;display:flex}nav a span{color:#77859a;font-family:monospace;font-size:10px}nav a:hover,nav a.active{background:var(--navy-2);color:#fff}nav a.active{box-shadow:inset 3px 0 var(--gold)}.user-card{border-top:1px solid #ffffff1f;align-items:flex-start;gap:10px;margin-top:auto;padding:16px 8px 0;display:flex}.avatar{background:var(--gold);width:34px;height:34px;color:var(--navy);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.user-details{min-width:0}.user-card strong,.user-card span{display:block}.user-card strong{font-size:11px}.user-card span{color:#aab5c5;overflow-wrap:anywhere;margin-top:3px;font-size:9px}.user-card button{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:5px 0 0;font-size:9px;font-weight:800}.content{min-width:0;padding:38px 42px 60px}.topbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.topbar h1{margin:3px 0 4px;font:600 34px Georgia,serif}.topbar p{color:var(--muted);margin:0;font-size:13px}.eyebrow{letter-spacing:.2em;font-weight:800;color:var(--gold)!important;font-size:10px!important}.primary{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:13px 18px;font-weight:700;box-shadow:0 7px 20px #07162f29}.mandate-banner{color:#fff;background:linear-gradient(110deg,#0a1b39,#122f58);border-radius:10px;justify-content:space-between;align-items:center;gap:30px;padding:25px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px #07162f24}.mandate-banner:after{content:"RN";color:#ffffff09;font:700 120px Georgia,serif;position:absolute;top:-35px;right:38%}.mandate-banner h2{margin:5px 0;font:600 25px Georgia,serif}.mandate-banner p{color:#c4ccd8;margin:0;font-size:12px}.gold-label{color:var(--gold);letter-spacing:.18em;font-size:9px;font-weight:800}.mandate-dates{z-index:1;gap:28px;display:flex}.mandate-dates span{color:#9facbd;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.mandate-dates strong{color:#fff;letter-spacing:0;margin-top:6px;font-size:14px;display:block}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 34px;display:grid}.metrics article{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:18px 19px;box-shadow:0 4px 15px #1a263c09}.metrics span,.metrics small{color:var(--muted);font-size:11px;display:block}.metrics strong{color:var(--navy);margin:8px 0 5px;font:600 25px Georgia,serif;display:block}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.section-heading h2{margin:4px 0 0;font:600 22px Georgia,serif}.filters{gap:8px;display:flex}.filters button,.filters input{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;padding:10px 12px;font-size:11px}.filters input{width:190px}.board{grid-template-columns:repeat(4,minmax(220px,1fr));align-items:start;gap:13px;display:grid}.board-column{border:1px solid var(--line);background:#ffffff75;border-radius:9px;min-height:330px;padding:10px}.board-column>header{text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:8px;padding:5px 4px 12px;font-size:9px;font-weight:800;display:flex}.board-column>header b{color:var(--muted);background:#edf0f3;border-radius:999px;margin-left:auto;padding:3px 7px}.status-dot{background:#999;border-radius:50%;width:7px;height:7px}.status-dot.red{background:#d84a4a}.status-dot.amber{background:#df9e27}.status-dot.blue{background:#2b88bf}.status-dot.green{background:#40a77c}.task-card{background:#fff;border:1px solid #dde0e4;border-radius:8px;margin-bottom:9px;padding:13px;box-shadow:0 3px 10px #19283e09}.task-top{justify-content:space-between;gap:8px;display:flex}.tag{color:#087cae;letter-spacing:.06em;background:#e5f1f8;border-radius:3px;padding:4px 6px;font-size:8px;font-weight:800}.priority{color:#647080;background:#eef0f2;border-radius:3px;padding:4px 6px;font-size:8px}.priority.alta{color:#b63030;background:#f9dddd}.priority.média{color:#9b6c10;background:#fff0ce}.priority.baixa{color:#657384;background:#e8edf2}.task-card h3{margin:13px 0 7px;font-size:13px;line-height:1.35}.task-card p{color:var(--muted);font-size:10px;line-height:1.5}.task-card footer{color:#7b8492;border-top:1px solid #edf0f2;justify-content:space-between;margin-top:11px;padding-top:9px;font-size:9px;display:flex}@media (max-width:1100px){.board,.metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.app-shell{display:block}.sidebar{height:auto;padding:17px;position:static}.sidebar nav,.nav-label,.user-card{display:none}.brand{border:0;padding:0}.content{padding:24px 16px}.topbar,.section-heading,.mandate-banner{flex-direction:column;align-items:flex-start}.mandate-dates{justify-content:space-between;width:100%}.metrics,.board{grid-template-columns:1fr}.filters{width:100%}.filters input{flex:1;min-width:0}}.link-button{text-decoration:none;display:inline-block}.section-heading a{color:var(--navy);font-size:12px;font-weight:700;text-decoration:none}.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-bottom:20px;padding:23px;box-shadow:0 4px 18px #1a263c09}.panel-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.panel-title h2{margin:3px 0 0;font:600 21px Georgia,serif}.count-badge{color:var(--muted);background:#eef0f3;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.form-grid{grid-template-columns:repeat(4,1fr);align-items:end;gap:14px;display:grid}.form-grid .span-2{grid-column:span 2}.form-grid label,.stack-form label,.inline-form label{color:#4d586b;gap:6px;font-size:11px;font-weight:700;display:grid}.form-grid input,.form-grid select,.form-grid textarea,.stack-form input,.stack-form select,.stack-form textarea,.inline-form input,.inline-form select,.row-form input{width:100%;color:var(--ink);background:#fff;border:1px solid #d9dde3;border-radius:6px;outline:none;padding:10px 11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #cba64b1f}.stack-form{gap:13px;display:grid}.two-columns{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.secondary{border:1px solid var(--navy);color:var(--navy);cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-weight:700}.secondary:hover{background:var(--navy);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}.records{gap:12px;display:grid}.record-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(260px,1.2fr) minmax(420px,1fr);gap:20px;padding:16px;display:grid}.record-main h3,.info-card h3,.handover-card h3{margin:10px 0 7px;font-size:15px}.record-main p,.info-card p,.handover-card p{color:var(--muted);font-size:11px;line-height:1.55}.meta{color:#7b8492;flex-wrap:wrap;gap:8px 18px;font-size:10px;display:flex}.inline-form{grid-template-columns:1fr 1fr;align-content:start;gap:9px;display:grid}.inline-form .secondary{align-self:end}.empty{color:#8a93a1;padding:12px 5px;font-size:11px}.board .empty{text-align:center;padding:35px 10px}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;color:#6e7888;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:11px;font-size:9px}td{vertical-align:middle;border-bottom:1px solid #eceef0;padding:12px 11px}td small{color:var(--muted);margin-top:4px;display:block}.row-form{gap:7px;min-width:245px;display:flex}.overdue{color:#bd2f2f;font-weight:800}.simple-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.info-card,.handover-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.info-card strong{color:var(--gold);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.handover-card{padding-right:80px;position:relative}.handover-card>.priority{position:absolute;top:15px;right:15px}.priority.media{color:#9b6c10;background:#fff0ce}.priority.urgente{color:#9e1717;background:#f5caca}.helper{color:var(--muted);margin:6px 0 16px;font-size:11px;line-height:1.5}.record-card.compact{grid-template-columns:minmax(260px,1fr) minmax(360px,.9fr)}.employee-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.employee-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:9px;padding:14px;display:grid}.employee-card label{color:#566174;gap:5px;font-size:10px;font-weight:700;display:grid}.employee-card input{width:100%;color:var(--ink);border:1px solid #dfe2e6;border-radius:5px;padding:8px}.employee-dates{grid-template-columns:1fr 1fr;gap:8px;display:grid}.reference-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.reference-grid article{border-bottom:1px solid #eceef0;align-items:center;gap:10px;padding:9px 4px;font-size:11px;display:flex}.reference-grid strong{color:var(--gold);min-width:40px}.reference-grid span{color:#455166}.election-editor{border:1px solid var(--line);background:#fff;border-radius:9px;padding:18px}.election-editor .form-grid{grid-template-columns:repeat(4,1fr)}.print-page{color:#07162f;background:#fff;min-height:100vh;padding:24px 40px}.print-toolbar{justify-content:space-between;align-items:center;max-width:850px;margin:0 auto 20px;display:flex}.print-toolbar a{color:var(--navy);font-weight:700;text-decoration:none}.login-page{background:radial-gradient(circle at 70% 15%,#183964 0,#07162f 42%,#030d1d 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--paper);border-radius:14px;width:min(440px,100%);padding:38px;box-shadow:0 28px 70px #00000059}.login-brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:28px;padding-bottom:24px;display:flex}.login-brand .brand-mark{background:var(--navy)}.login-brand strong,.login-brand span{display:block}.login-brand strong{color:var(--navy);font:600 20px Georgia,serif}.login-brand span{color:var(--muted);margin-top:3px;font-size:10px}.login-card h1{color:var(--navy);margin:5px 0 10px;font:600 32px Georgia,serif}.login-copy{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.65}.google-login{width:100%;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d5d9df;border-radius:7px;justify-content:center;align-items:center;gap:11px;padding:12px 15px;font-weight:750;display:flex}.google-login:hover{border-color:var(--gold);box-shadow:0 4px 16px #07162f14}.google-g{color:#fff;background:#4285f4;border-radius:50%;place-items:center;width:23px;height:23px;font-weight:800;display:grid}.login-card>small{color:#89919e;text-align:center;margin-top:16px;font-size:9px;line-height:1.5;display:block}.login-error{color:#a12626;background:#fae4e4;border-radius:6px;margin-bottom:14px;padding:10px;font-size:11px}.ballot{text-align:center;background:#fff;border:2px solid #07162f;flex-direction:column;justify-content:center;align-items:center;max-width:850px;min-height:430px;margin:0 auto;padding:24px 55px;display:flex}.ballot img{object-fit:contain;width:290px;height:auto;margin-bottom:6px}.ballot h1{text-transform:uppercase;margin:4px 0 3px;font:700 22px Georgia,serif}.ballot h2{text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px;font-size:14px}.candidate-list{grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px 34px;width:100%;max-width:650px;margin:4px auto 18px;display:grid}.candidate{text-align:left;border-bottom:1px solid #d9d9d9;align-items:center;gap:13px;padding:10px 4px;display:flex}.vote-box{border:2px solid #07162f;flex:none;width:30px;height:30px}.candidate strong,.candidate small{display:block}.candidate strong{text-transform:uppercase;font:700 16px Georgia,serif}.candidate small{color:#8e762e;letter-spacing:.08em;margin-top:3px;font-size:10px;font-weight:800}.ballot>p{margin:4px 0 0;font-size:11px}.cut-line{color:#78808c;text-align:left;border-bottom:1px dashed #9ca2aa;max-width:850px;margin:10px auto;line-height:1px}@media (max-width:1100px){.form-grid,.simple-grid{grid-template-columns:repeat(2,1fr)}.record-card{grid-template-columns:1fr}.inline-form{grid-template-columns:repeat(4,1fr)}.employee-grid,.reference-grid{grid-template-columns:repeat(2,1fr)}.record-card.compact{grid-template-columns:1fr}.election-editor .form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.form-grid,.two-columns,.simple-grid,.inline-form,.employee-grid,.reference-grid,.election-editor .form-grid,.candidate-list{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.panel{padding:16px}.row-form{min-width:220px}.topbar .primary{text-align:center;width:100%}.ballot{min-height:0;padding:20px}.print-page{padding:15px}.sidebar{position:relative}.sidebar nav{flex-wrap:wrap;gap:3px;padding-top:12px;display:flex}.sidebar nav a{white-space:nowrap;flex:none;padding:7px 8px;font-size:11px}.sidebar .nav-label,.sidebar .user-card{display:none}}@media print{@page{size:A4 portrait;margin:8mm}body{background:#fff}.no-print{display:none!important}.print-page{padding:0}.ballot{break-inside:avoid;border:1.5px solid #07162f;width:100%;max-width:none;height:132mm;min-height:0;padding:8mm 14mm}.ballot img{width:62mm}.ballot h1{font-size:16pt}.ballot h2{margin-bottom:4mm;font-size:10pt}.candidate-list{gap:3mm 8mm;margin-bottom:4mm}.candidate{padding:2.5mm 1mm}.vote-box{width:9mm;height:9mm}.candidate strong{font-size:11pt}.candidate small,.ballot>p{font-size:8pt}.cut-line{width:100%;max-width:none;margin:2.5mm 0}}
