:root{--gvs-red:#bc2b3a;--gvs-red-dark:#9e2330;--gvs-orange:#ee8e4d;--navy:#112337;--ink:#2b2b2b;--muted:#747b83;--line:#e2e4e7;--bg:#f5f5f5;--surface:#fff;--surface-2:#f0f1f2;--radius:8px}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{color:var(--ink);background:var(--bg);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button,input,select{font:inherit}button{color:inherit}.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;color:var(--navy);background:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:.15s ease}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{color:#fff;border-color:var(--gvs-red);background:var(--gvs-red)}.btn-primary:hover{background:var(--gvs-red-dark)}.btn-ghost{border-color:transparent;color:var(--muted);background:transparent}.btn-ghost:hover{color:var(--navy)}.btn-danger{color:#9e2330;border-color:#e9b8bd;background:#fff7f7}.btn-small{min-height:32px;padding:5px 9px;font-size:10px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-box{width:min(380px,100%);padding:34px 32px;border:1px solid var(--line);border-radius:12px;background:#fff}.login-box>img{width:138px;display:block;margin:0 auto 24px}.login-kicker{margin:0 0 4px;color:var(--gvs-red);font-size:10px;font-weight:700;letter-spacing:.09em;text-align:center;text-transform:uppercase}.login-box h1{margin:0;color:var(--navy);font-size:26px;text-align:center}.login-intro{margin:6px 0 22px;color:var(--muted);font-size:12px;text-align:center}.login-box form{display:grid;gap:14px}.register-box{width:min(500px,100%)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-switch{margin:18px 0 0;color:var(--muted);font-size:11px;text-align:center}.auth-switch a,.development-link{color:var(--gvs-red);font-weight:700}.development-link{display:block;margin:10px 0;font-size:11px}.login-button{width:100%;min-height:44px;margin-top:3px}.field{display:grid;gap:5px}.field>span{color:var(--navy);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.field input,.field select{width:100%;min-width:0;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:6px;outline:none;color:var(--ink);background:#fff}.field input:focus,.field select:focus{border-color:var(--gvs-red);box-shadow:0 0 0 3px rgba(188,43,58,.08)}.input-with-icon{height:42px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:6px;color:#9ba0a5}.input-with-icon:focus-within{border-color:var(--gvs-red);box-shadow:0 0 0 3px rgba(188,43,58,.08)}.input-with-icon input{height:100%;padding:0;border:0;box-shadow:none!important}.msg-error,.msg-success{padding:10px 12px;border-radius:6px;font-size:11px}.msg-error{color:#791f1f;border:1px solid #edbcbc;background:#fcebeb}.msg-success{color:#27500a;border:1px solid #bdd39f;background:#eaf3de}.portal{min-height:100vh}.appbar{min-height:72px;justify-content:space-between;gap:20px;padding:10px 28px;border-bottom:3px solid var(--gvs-red);background:#fff}.appbar,.brand{display:flex;align-items:center}.brand{gap:18px}.brand img{width:94px;display:block}.brand>div{display:flex;flex-direction:column;padding-left:18px;border-left:1px solid var(--line)}.brand strong{color:var(--navy);font-size:16px}.brand span{color:var(--muted);font-size:10px}.appbar-user{display:flex;align-items:center;gap:5px}.user-label{display:grid;margin-right:12px;text-align:right}.user-label span{color:var(--muted);font-size:9px;text-transform:uppercase}.user-label strong{color:var(--navy);font-size:11px}.portal-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:46px 0 64px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:30px}.eyebrow{margin:0 0 7px;color:var(--gvs-red);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hero h1{margin:0 0 12px;color:var(--navy);font-size:clamp(32px,5vw,48px);line-height:1.08;letter-spacing:-.035em}.hero>div>p:last-child{max-width:600px;margin:0;color:var(--muted);font-size:13px}.hero-mark{min-width:260px;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--line);border-radius:var(--radius);color:#639922;background:#fff}.hero-mark div{display:grid}.hero-mark strong{color:var(--navy);font-size:12px}.hero-mark span{color:var(--muted);font-size:10px}.tool-toolbar{min-height:62px;gap:16px;margin-bottom:16px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.search-box,.tool-toolbar{display:flex;align-items:center}.search-box{flex:1 1;height:40px;gap:9px;padding:0 11px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.search-box:focus-within{border-color:var(--gvs-red);box-shadow:0 0 0 3px rgba(188,43,58,.08)}.search-box input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.tool-toolbar>span{color:var(--muted);font-size:10px;white-space:nowrap}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tool-card{min-height:235px;position:relative;display:flex;flex-direction:column;padding:21px;border:1px solid var(--line);border-radius:var(--radius);color:inherit;background:#fff;text-decoration:none;transition:transform .15s ease,border-color .15s ease}.tool-card:hover{transform:translateY(-2px);border-color:#c7cbd0}.tool-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:22px;border-radius:8px;color:var(--gvs-red);background:#fcebeb}.accent-orange{color:#a75b28;background:#fff0e5}.accent-blue{color:#0c447c;background:#e6f1fb}.accent-green{color:#38601a;background:#eaf3de}.accent-violet{color:#61408c;background:#f1eafa}.accent-cyan{color:#17606d;background:#e5f5f7}.accent-amber{color:#854f0b;background:#faeeda}.accent-navy{color:#fff;background:var(--navy)}.tool-card-arrow{position:absolute;top:19px;right:19px;color:#b0b4b8}.tool-card h2{margin:0 0 7px;color:var(--navy);font-size:16px}.tool-card p{flex:1 1;margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.6}.tool-card>span{display:inline-flex;align-items:center;gap:5px;color:var(--gvs-red);font-size:10px;font-weight:700;text-transform:uppercase}.empty-state{padding:50px;color:var(--muted);text-align:center}.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(17,35,55,.55)}.modal{width:min(400px,94vw);max-height:90vh;overflow:hidden;border-radius:12px;background:#fff}.modal-wide{width:min(760px,96vw)}.modal>header{min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line)}.modal h2{margin:0;color:var(--navy);font-size:17px}.icon-button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer}.icon-button:hover{color:var(--navy);background:var(--surface-2)}.modal-body{max-height:calc(90vh - 60px);overflow-y:auto;padding:18px}.form-stack{display:grid;gap:13px}.form-help{margin:-3px 0 0;color:var(--muted);font-size:10px}.form-stack footer{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.section-title{margin:2px 0 10px;color:var(--navy);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.section-title:not(:first-of-type){margin-top:24px}.users-table{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.users-head,.users-row{display:grid;grid-template-columns:minmax(180px,1fr) 135px 90px 230px;gap:12px;align-items:center;padding:10px 12px}.users-head{color:var(--navy);background:var(--surface-2);font-size:10px;font-weight:700;text-transform:uppercase}.users-row{min-height:58px;border-top:1px solid #eee}.users-row small,.users-row strong{display:block}.users-row strong{color:var(--navy);font-size:12px}.users-row small{color:var(--muted);font-size:9px}.role-badge{width:fit-content;padding:4px 9px;border-radius:20px;color:#475569;background:#eef0f2;font-size:9px;font-weight:700}.role-badge.admin{color:#791f1f;background:#fcebeb}.user-statuses{display:flex;align-items:flex-start;flex-direction:column;gap:4px}.verification-badge{width:fit-content;padding:3px 8px;border-radius:20px;color:#791f1f;background:#fcebeb;font-size:8px;font-weight:700}.verification-badge.verified{color:#27500a;background:#eaf3de}.permission-summary{padding:5px 7px;border:1px solid var(--line);border-radius:6px;color:var(--gvs-red);background:#fff;font-size:9px;font-weight:700;cursor:pointer}.permission-summary:disabled{color:var(--muted);cursor:default}.user-actions{display:flex;justify-content:flex-end;gap:5px}.new-user-form{display:grid;grid-template-columns:1fr 1fr 120px;gap:10px}.new-user-form .wide{grid-column:1/3}.new-user-form>button{align-self:end;height:42px}.permission-picker{display:grid;gap:7px}.permission-picker>span{color:var(--navy);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.permission-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.permission-picker label{min-height:36px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;color:var(--navy);background:#fff;font-size:9px;cursor:pointer}.permission-picker input{accent-color:var(--gvs-red)}.modal-permissions>div{grid-template-columns:1fr}@media (max-width:980px){.tool-grid{grid-template-columns:repeat(2,1fr)}.appbar{align-items:flex-start;flex-direction:column}.appbar-user{width:100%;flex-wrap:wrap}.user-label{margin-right:auto;text-align:left}}@media (max-width:650px){.portal-wrap{width:calc(100% - 20px);padding-top:28px}.appbar{padding:12px 16px}.brand span{display:none}.appbar-user .btn{padding:7px 9px;font-size:10px}.hero{align-items:stretch;flex-direction:column}.hero-mark{min-width:0}.tool-toolbar{align-items:stretch;flex-direction:column}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:210px}.users-head{display:none}.users-row{grid-template-columns:1fr auto}.user-actions{grid-column:1/-1;justify-content:flex-start}.new-user-form{grid-template-columns:1fr}.new-user-form .wide{grid-column:auto}.form-grid-2,.permission-picker>div{grid-template-columns:1fr}}