
:root{--stp-navy:#071b36;--stp-blue:#0878ed;--stp-cyan:#23a9ff;--stp-ink:#10213d;--stp-muted:#68778e;--stp-line:#dce5ef;--stp-bg:#f4f8fc;--stp-white:#fff;--stp-green:#0c8a62;--stp-orange:#d97706;--stp-red:#be2e2e}
.stp-portal,.stp-portal *,.stp-login-shell,.stp-login-shell *,.stp-registration-shell,.stp-registration-shell *{box-sizing:border-box}
.stp-portal{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:760px;margin:30px auto;width:min(1450px,calc(100% - 40px));border:1px solid #cfdbea;border-radius:20px;overflow:hidden;background:var(--stp-bg);box-shadow:0 25px 80px rgba(7,27,54,.15);color:var(--stp-ink)}
.stp-sidebar{display:flex;flex-direction:column;padding:28px 20px;background:linear-gradient(180deg,#06172e,#092951);color:#fff}.stp-brand{display:flex;align-items:center;gap:12px;padding:0 9px 28px;border-bottom:1px solid rgba(255,255,255,.12)}.stp-brand-mark{display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:13px;background:linear-gradient(135deg,#0878ed,#23a9ff);font-weight:900}.stp-brand strong{display:block}.stp-brand small{display:block;color:#9fb6d3}
.stp-sidebar nav{display:grid;gap:7px;margin-top:25px}.stp-sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:9px;color:#c7d6e8;text-decoration:none;font-weight:700}.stp-sidebar nav a span{display:grid;width:26px;height:26px;place-items:center}.stp-sidebar nav a:hover,.stp-sidebar nav a.is-active{background:rgba(35,169,255,.17);color:#fff}.stp-sidebar nav a.is-active{box-shadow:inset 3px 0 #23a9ff}.stp-logout{margin-top:auto;padding:13px 14px;border-top:1px solid rgba(255,255,255,.12);color:#c7d6e8;text-decoration:none}
.stp-main{min-width:0;padding:32px}.stp-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.stp-topbar small,.stp-eyebrow{color:var(--stp-blue);font-weight:900;letter-spacing:1.3px;font-size:12px}.stp-topbar h1{margin:4px 0 0;font-size:34px;color:var(--stp-ink)}.stp-user{display:flex;align-items:center;gap:10px}.stp-user>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#dcecff;color:#075eb8;font-weight:900}.stp-user strong,.stp-user small{display:block}.stp-user small{color:var(--stp-muted)}
.stp-welcome{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px;border-radius:17px;background:linear-gradient(120deg,#071b36,#0a4385);color:#fff}.stp-welcome span{color:#85caff;font-weight:800}.stp-welcome h2{margin:5px 0;font-size:30px;color:#fff}.stp-welcome p{margin:0;color:#c6d6e8}
.stp-btn,.stp-btn-small{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:0;border-radius:8px;background:#e9f2fb;color:#092951!important;text-decoration:none;font-weight:800;cursor:pointer}.stp-btn-primary{background:var(--stp-blue);color:#fff!important}.stp-btn-small{padding:8px 12px;font-size:13px}
.stp-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.stp-stat{display:block;padding:21px;border:1px solid var(--stp-line);border-radius:14px;background:#fff;text-decoration:none}.stp-stat small,.stp-stat strong,.stp-stat span{display:block}.stp-stat small{color:var(--stp-muted)}.stp-stat strong{margin:7px 0;font-size:32px;color:var(--stp-ink)}.stp-stat span{color:var(--stp-blue);font-size:13px;font-weight:800}
.stp-dashboard-grid,.stp-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stp-panel{padding:24px;border:1px solid var(--stp-line);border-radius:15px;background:#fff}.stp-panel h3{margin-top:0;color:var(--stp-ink)}.stp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.stp-panel-head h3{margin:0}.stp-panel-head a{color:var(--stp-blue);text-decoration:none;font-weight:800;font-size:13px}
.stp-compact-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf1f5}.stp-compact-list>div:last-child{border-bottom:0}.stp-compact-list small{color:var(--stp-muted)}
.stp-status{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;background:#e8f3ff;color:#075eb8;font-size:10px;font-weight:900;text-transform:uppercase}.stp-status-completed,.stp-status-closed,.stp-status-active{background:#e7f7f1;color:#087657}.stp-status-waiting,.stp-status-scheduled{background:#fff4dc;color:#9b5d00}
.stp-record-list{display:grid;gap:13px}.stp-record-list article{padding:18px;border:1px solid #e1e8f0;border-radius:11px;background:#fbfdff}.stp-record-top{display:flex;justify-content:space-between;gap:15px}.stp-record-top h4{margin:8px 0 0}.stp-record-top small,.stp-record-list p{color:var(--stp-muted)}.stp-progress{height:7px;margin:13px 0 6px;border-radius:99px;background:#e6edf5;overflow:hidden}.stp-progress span{display:block;height:100%;background:linear-gradient(90deg,#0878ed,#23a9ff)}
.stp-empty{padding:35px;border:1px dashed #bfd0e2;border-radius:12px;text-align:center;background:#f8fbff}.stp-empty h4{margin:0 0 7px}.stp-empty p{margin:0;color:var(--stp-muted)}.stp-empty-small{padding:20px}
.stp-quick-actions{margin-top:20px;padding:24px;border-radius:15px;background:#fff;border:1px solid var(--stp-line)}.stp-quick-actions>div{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stp-quick-actions a{display:block;padding:17px;border-radius:11px;background:#f3f8fd;text-decoration:none;color:var(--stp-ink)}.stp-quick-actions b,.stp-quick-actions span{display:block}.stp-quick-actions span{margin-top:4px;color:var(--stp-muted);font-size:13px}
.stp-announcements{margin-top:20px}.stp-form{display:grid;gap:15px}.stp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stp-form label{display:grid;gap:7px;font-weight:750}.stp-form input,.stp-form select,.stp-form textarea{width:100%;padding:12px 13px;border:1px solid #c5d2e0;border-radius:8px;background:#fff;font:inherit}.stp-form small{color:var(--stp-muted);font-weight:400}.stp-form-note{color:var(--stp-muted);font-size:13px}
.stp-document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stp-document-grid article{padding:20px;border:1px solid #dde6ef;border-radius:12px;background:#fbfdff}.stp-document-grid span{color:var(--stp-blue);font-size:10px;font-weight:900}.stp-document-grid a{color:var(--stp-blue);font-weight:800;text-decoration:none}
.stp-alert{margin:0 0 20px;padding:16px 18px;border-radius:10px;background:#eaf4ff;color:#075eb8}.stp-alert-success{background:#e8f7ef;color:#12643b}.stp-alert-warning{padding:35px}.stp-shell{width:min(900px,calc(100% - 40px));margin:50px auto}
.stp-login-shell,.stp-registration-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;width:min(1180px,calc(100% - 40px));margin:65px auto;padding:45px;border:1px solid var(--stp-line);border-radius:20px;background:linear-gradient(135deg,#f5faff,#fff);box-shadow:0 24px 70px rgba(7,27,54,.12)}
.stp-login-copy h2,.stp-registration-copy h2{margin:10px 0 16px;font-size:44px;line-height:1.1}.stp-login-copy>p,.stp-registration-copy>p{color:var(--stp-muted);font-size:17px}.stp-login-features{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.stp-login-features div{padding:16px;border-radius:10px;background:#edf6ff}.stp-login-features b,.stp-login-features span{display:block}.stp-login-features span{margin-top:4px;color:var(--stp-muted);font-size:13px}
.stp-login-card,.stp-registration-form{padding:30px;border-radius:15px;background:#fff;border:1px solid var(--stp-line);box-shadow:0 15px 35px rgba(7,27,54,.08)}.stp-login-card h3{font-size:25px;margin:15px 0 0}.stp-login-card p{color:var(--stp-muted)}.stp-login-card form p{margin:14px 0}.stp-login-card input[type=text],.stp-login-card input[type=password]{width:100%;padding:12px;border:1px solid #c5d2e0;border-radius:8px}.stp-login-card input[type=submit]{width:100%;padding:13px;border:0;border-radius:8px;background:var(--stp-blue);color:#fff;font-weight:850}.stp-login-links{display:flex;justify-content:space-between;margin-top:15px}.stp-login-links a{color:var(--stp-blue);text-decoration:none;font-weight:700}.stp-auth-tabs{display:flex;gap:8px;border-bottom:1px solid var(--stp-line);padding-bottom:14px}.stp-auth-tabs button,.stp-auth-tabs a{padding:8px 12px;border:0;border-radius:7px;background:#eef4fa;color:var(--stp-ink);text-decoration:none;font-weight:800}.stp-auth-tabs .is-active{background:var(--stp-blue);color:#fff}
.stp-registration-shell{grid-template-columns:.8fr 1.2fr;align-items:start}.stp-registration-copy{position:sticky;top:30px}.stp-registration-copy ol{display:grid;gap:18px;margin:28px 0 0;padding:0;list-style:none}.stp-registration-copy li{padding:17px;border-radius:10px;background:#edf6ff}.stp-registration-copy li strong,.stp-registration-copy li span{display:block}.stp-registration-copy li span{margin-top:5px;color:var(--stp-muted)}.stp-registration-form h3{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--stp-line)}.stp-registration-form h3:first-of-type{margin-top:0;padding-top:0;border-top:0}.stp-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stp-check-grid label,.stp-consent{display:flex!important;align-items:flex-start;gap:9px;padding:11px;border:1px solid #dce5ef;border-radius:8px;background:#fbfdff}.stp-check-grid input,.stp-consent input{width:auto;margin-top:3px}.stp-consent a{color:var(--stp-blue)}.stp-hp{position:absolute;left:-10000px}
@media(max-width:1000px){.stp-portal{grid-template-columns:220px 1fr}.stp-stat-grid{grid-template-columns:repeat(2,1fr)}.stp-quick-actions>div{grid-template-columns:repeat(2,1fr)}.stp-document-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.stp-portal{display:block;width:calc(100% - 24px)}.stp-sidebar nav{grid-template-columns:repeat(2,1fr)}.stp-main{padding:20px}.stp-topbar,.stp-welcome{align-items:flex-start;flex-direction:column}.stp-user{display:none}.stp-dashboard-grid,.stp-two-column,.stp-login-shell,.stp-registration-shell{grid-template-columns:1fr}.stp-registration-copy{position:static}.stp-login-copy h2,.stp-registration-copy h2{font-size:34px}}
@media(max-width:540px){.stp-sidebar nav,.stp-stat-grid,.stp-quick-actions>div,.stp-form-grid,.stp-login-features,.stp-check-grid{grid-template-columns:1fr}.stp-record-top{display:block}.stp-document-grid{grid-template-columns:1fr}.stp-login-shell,.stp-registration-shell{padding:24px}}
