@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg:#060b14;--surface:#0f172a;--surface-alt:#111f3d;--border:#23365e;--text:#e5ecff;--text-muted:#b6c2e5;--brand:#41d1ff;--brand-strong:#17aee0;--danger:#ff5d5d;--success:#22c55e;--shadow:0 14px 35px #00000047;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.5rem;--radius-md:.9rem;--radius-lg:1.2rem}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(1200px 500px at 10% -10%, #103e69 0%, transparent 52%), radial-gradient(900px 400px at 90% 0%, #0f3853 0%, transparent 60%), var(--bg);color:var(--text);font-family:Plus Jakarta Sans,sans-serif;line-height:1.55}#app{min-height:100svh}.page{width:min(1120px, 100% - var(--space-6));padding:var(--space-7) 0;gap:var(--space-6);margin:0 auto;display:grid}.user-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(170deg,#111f3de6 0%,#0f172afa 100%);flex-wrap:wrap;display:flex}.user-bar-left{align-items:center;gap:var(--space-3);display:flex}.user-bar-name{font-size:.95rem;font-weight:700}.user-bar-right{align-items:center;gap:var(--space-3);display:flex}.locale-control-inline select{min-width:100px;padding:.4rem .6rem;font-size:.85rem}.role-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.role-badge.role-manager{color:var(--brand);background:#41d1ff2e;border:1px solid #41d1ff59}.role-badge.role-worker{color:var(--success);background:#22c55e26;border:1px solid #22c55e59}.privacy-badge{color:var(--success);background:#22c55e14;border:1px solid #22c55e4d;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:600}.user-cards{gap:var(--space-3);display:grid}.user-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);background:#0f172a99;display:grid}.user-card-info{align-items:center;gap:var(--space-3);display:flex}.login-inline{gap:var(--space-2);align-items:center;display:flex}.pin-input{max-width:120px;padding:.55rem .7rem;font-size:.9rem}.hero,.panel,.card,.stat-card{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(170deg,#111f3dd9 0%,#0f172af5 100%)}.hero{border-radius:var(--radius-lg);padding:clamp(var(--space-5), 4vw, var(--space-7));position:relative;overflow:hidden}.hero-top{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;align-items:start;display:flex}.locale-control{gap:var(--space-1);min-width:170px;display:grid}.locale-control span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:.75rem;font-weight:700}.hero:after{content:"";background:radial-gradient(circle,#41d1ff38,#0000 65%);border-radius:999px;width:260px;height:260px;position:absolute;top:-70px;right:-60px}.eyebrow{margin:0 0 var(--space-2);color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.hero-title{max-width:18ch;margin:0;font-family:Manrope,sans-serif;font-size:clamp(1.85rem,4vw,3rem);line-height:1.15}.hero-copy{color:var(--text-muted);max-width:65ch;margin:var(--space-4) 0 var(--space-5)}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;min-height:44px;padding:.8rem 1.05rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s;display:inline-flex}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--brand);color:#022530}.btn-primary:hover{background:var(--brand-strong)}.btn-secondary{color:var(--text);background:#0d2747;border:1px solid #2f4f7d}.btn-danger{color:#ffd0d0;background:#391818;border:1px solid #8f3232}.btn-sm{flex-shrink:0;min-height:38px;padding:.55rem .85rem;font-size:.85rem}.panel{border-radius:var(--radius-lg);padding:clamp(var(--space-4), 2.5vw, var(--space-6));animation:.38s fade-slide}.panel-title-wrap h2{margin:0;font-family:Manrope,sans-serif;font-size:1.55rem}.panel-title-wrap p{margin:var(--space-2) 0 var(--space-5);color:var(--text-muted)}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{gap:var(--space-2);display:grid}.field span,.field legend,.filters label{color:var(--text-muted);font-size:.88rem;font-weight:600}input,select,textarea{background:var(--surface);width:100%;color:var(--text);border-radius:var(--radius-sm);font:inherit;border:1px solid #35568f;padding:.7rem .75rem}input[type=range]{padding-inline:0}fieldset{border:none;margin:0;padding:0}.switch-wrap,.radio-group{align-items:center;gap:var(--space-3);display:flex}.radio-group label,.switch-wrap span{color:var(--text)}.switch-field{align-content:end}.field-full{grid-column:1/-1}.actions-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.status-message{margin:0;font-weight:600}.status-message.success{color:#96f0b8}.status-message.error{color:#ffc6c6}.filters{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats-grid{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.stat-card{border-radius:var(--radius-md);padding:var(--space-4)}.stat-card p{color:var(--text-muted);margin:0;font-size:.85rem}.stat-card strong{font-family:Manrope,sans-serif;font-size:1.4rem}.dashboard-grid{margin-top:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card-full{grid-column:1/-1}.card{border-radius:var(--radius-md);padding:var(--space-4)}.card h3{margin-top:0;margin-bottom:var(--space-3);font-family:Manrope,sans-serif}.list{padding-left:var(--space-5);gap:var(--space-2);margin:0;display:grid}.insight-text{color:var(--text);margin:0}.table-wrap{border-radius:var(--radius-sm);border:1px solid #2b4374;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;border-bottom:1px solid #203256;padding:.7rem;font-size:.9rem}thead th{letter-spacing:.05em;text-transform:uppercase;color:#aac3f1;font-size:.75rem}.roadmap h2{margin:0 0 var(--space-4)}.chips{gap:var(--space-3);flex-wrap:wrap;display:flex}.chip{background:#10223f;border:1px solid #3c5e9e;border-radius:999px;padding:.55rem .8rem}.mgmt-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mgmt-card h3{margin-bottom:var(--space-3)}.mgmt-add-row{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.mgmt-add-row input{flex:1;min-width:0}.mgmt-list{margin:var(--space-3) 0 0;gap:var(--space-1);max-height:340px;padding:0;list-style:none;display:grid;overflow-y:auto}.mgmt-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:#0f172a99;font-size:.9rem;display:flex}.mgmt-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.btn-remove{color:#ffa0a0;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #8f3232;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s;display:flex}.btn-remove:hover{color:#ffd0d0;background:#5c1a1a}.btn-remove:focus-visible{outline:2px solid var(--danger);outline-offset:2px}@media (width<=980px){.page{width:min(1120px, 100% - var(--space-5));padding:var(--space-6) 0}.form-grid,.filters,.stats-grid,.dashboard-grid,.mgmt-grid{grid-template-columns:1fr}.hero-actions,.actions-row,.hero-actions .btn,.actions-row .btn{width:100%}.user-bar{flex-direction:column;align-items:stretch}.user-bar-right{justify-content:flex-end}}@keyframes fade-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
