/* SIEBOT · Citizen Apps | Interface editorial v2 */
:root{--bg:#f4f7fc;--ink:#14304e;--muted:#667d95;--line:#dfe8f3;--a:#1565df;color-scheme:light}
body{background:#f4f7fc;color:#14304e;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
body:before{content:"";position:fixed;inset:0 0 auto 266px;height:600px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 52% at 84% 3%,#e1edff,transparent 80%)}
.portal-sidebar{width:266px;padding:30px 15px 22px;background:linear-gradient(180deg,#fff,#fcfdff 65%,#f7faff);box-shadow:none;border-right:1px solid #e5ebf5;scrollbar-width:thin}
.portal-main{margin-left:266px;width:calc(100% - 266px)}
.portal-logo{padding:3px 13px 27px;min-height:80px}
.portal-logo img{width:170px;max-height:62px}
.portal-caption{padding:23px 13px 13px;color:#94a5b8;letter-spacing:1.9px;font-size:10px}
.side-nav{gap:6px}
.side-nav a{min-height:51px;padding:12px 13px;font-size:12.5px;line-height:1.38;border-radius:12px;transition:background .2s,transform .2s,border-color .2s}
.side-nav a svg{width:18px;height:18px;opacity:.78}
.side-nav a:hover{transform:translateX(2px);background:#edf5ff}
.side-nav a.active{background:linear-gradient(100deg,#e7f1ff,#f2f7ff);border-color:#d4e6fc;box-shadow:inset 3px 0 0 #1764db,0 4px 14px #0f57b00a}
.side-nav .nav-number{margin-left:auto;color:#9cadbf;font-weight:850;font-size:10px}
.side-nav a.active .nav-number{color:#2365bc}
.sidebar-foot{border-top:1px solid #e9eef6;padding:22px 14px 4px}
.sidebar-foot strong{color:#214e86}
.sidebar-foot .side-status{display:flex;align-items:center;gap:9px;font-weight:750;margin-top:11px;color:#42758d}
.sidebar-foot .side-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#19a981;box-shadow:0 0 0 4px #def6ed}
.portal-top{height:86px;background:#ffffffde;backdrop-filter:blur(13px);border-bottom-color:#e5ecf5}
.portal-body{padding-top:49px;max-width:1560px}
.breadcrumb{color:#8194aa}.breadcrumb strong{color:#244a72}
.top-pill{color:#35745f;background:#eaf8f0;border-color:#d6eddf}
.top-print{box-shadow:0 2px 9px #144b840b;transition:.2s}
.top-print:hover{border-color:#9cc4f6;background:#eff6ff}
.portal-kicker{font-size:10px;letter-spacing:2px;color:#286bcc}
.portal-heading{font-size:clamp(31px,3.3vw,49px);letter-spacing:-1.7px;font-weight:850;margin-bottom:13px}
.portal-description{line-height:1.83;color:#627992;font-size:15px;max-width:1040px}
.portal-panel,.portal-main .paper,.portal-main .card,.portal-main .issue{border:1px solid #e1e9f3;border-radius:22px;box-shadow:0 12px 40px #163e700c;background:#fff}
.portal-panel{padding:clamp(22px,2.4vw,34px);margin-bottom:23px}
.portal-panel h2{font-size:clamp(21px,2vw,27px);letter-spacing:-.75px}
.portal-panel p,.portal-main .paper p{color:#657a92}
.portal-metric{background:#f5f9ff;border-color:#e0eaf5;border-radius:17px;transition:transform .2s,border-color .2s}
.portal-metric:hover{transform:translateY(-2px);border-color:#bbd6f7}
.portal-metric strong{letter-spacing:-1px;color:#164f95;font-variant-numeric:tabular-nums}
.portal-callout{border-radius:15px;background:#eef5ff}
.portal-badge{border-radius:9px;padding:7px 12px}
.portal-form input:not([type=checkbox]),.portal-form select,.cost-controls input,.cost-controls select{border-radius:12px;background:#fcfdff;border-color:#d5e1ef;min-height:45px}
.portal-form input:focus,.portal-form select:focus,.cost-controls input:focus,.cost-controls select:focus{border-color:#79a9ef;outline:3px solid #e0edff;box-shadow:none}
.primary-action{background:linear-gradient(115deg,#165de0,#2982f2);border-radius:12px;box-shadow:0 9px 22px #1265d327;transition:transform .2s,box-shadow .2s}
.primary-action:hover{transform:translateY(-2px);background:linear-gradient(115deg,#1455cf,#1c70e1);box-shadow:0 12px 24px #1265d338}
.secondary-action{transition:.2s;border-radius:12px}
.secondary-action:hover{background:#f0f7ff;border-color:#9ec4f2}
.select-cards{gap:14px}
.select-card{border-color:#e2eaf4;border-radius:16px;min-height:165px;padding:22px;position:relative;overflow:hidden;box-shadow:0 5px 17px #174f8708;transition:transform .2s,border-color .2s,box-shadow .2s}
.select-card:before{content:"";position:absolute;top:-44px;right:-45px;width:130px;height:130px;border-radius:38px;transform:rotate(22deg);background:#ebf4ff;opacity:.85;pointer-events:none}
.select-card:hover{transform:translateY(-4px);border-color:#90bafa;box-shadow:0 12px 28px #1d65c115}
.select-card.is-selected{border:2px solid #1769e9;background:linear-gradient(140deg,#ebf4ff,#fff 78%);padding:21px}
.select-card.is-selected:after{content:"✓";position:absolute;right:15px;top:14px;display:grid;place-items:center;height:22px;width:22px;border-radius:50%;background:#1767df;color:#fff;font-size:12px;font-weight:900}
.select-card .card-price{font-size:22px}
.rack{background:linear-gradient(180deg,#f0f6ff,#f8fbff);border-color:#dbe7f7;border-radius:17px}
.rack-server{border-left:3px solid #2277df;border-radius:12px;box-shadow:0 6px 15px #164b8c0a;animation:exp-rise .4s ease both}
.rack-server .app-symbol{height:39px;width:39px;border-radius:12px}
.rack-server strong{font-size:13px}
.step-ladder{counter-reset:stage;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #dfe9f3;border-radius:15px;overflow:hidden;background:white}
.step-ladder span{border:0!important;border-right:1px solid #e0eaf5!important;border-radius:0;padding:15px 8px;text-align:center;background:white;font-size:11px}
.step-ladder span:last-child{border-right:0!important}
.step-ladder span:before{counter-increment:stage;content:counter(stage);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8eef7;color:#6884a0;font-weight:850;margin-right:8px}
.step-ladder span.done{background:#eaf4ff;color:#145dc5}
.step-ladder span.done:before{background:#1765dd;color:white}
.portal-table-wrap{border-radius:15px;box-shadow:0 6px 20px #22578608}
.portal-table th{background:#f3f7fd}
.portal-table tr:hover td{background:#f4f9ff}
.scale-bars{background-image:linear-gradient(to top,#dde7f4 1px,transparent 1px);background-size:100% 25%}
.scale-bars .ram{background:linear-gradient(0deg,#1465d2,#5da6f0)}
.scale-bars .cpu{background:linear-gradient(0deg,#0b8584,#48c7bf)}
.bottom-nav a:hover{background:#edf5ff;border-color:#aecbf5;transform:translateY(-2px)}
.portal-main .sequence-stage{background:radial-gradient(circle,#dce6f4 1px,transparent 1px),#fcfdff;background-size:24px 24px}
.portal-main pre{background:linear-gradient(135deg,#112b4d,#081d39);border-radius:16px}
.portal-main .process>div,.portal-main .arch-box{border-radius:16px;transition:border-color .2s}
.portal-main .process>div:hover,.portal-main .arch-box:hover{border-color:#9fc2ee}
@keyframes exp-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1220px){body:before{left:236px}.portal-sidebar{width:236px}.portal-main{width:calc(100% - 236px);margin-left:236px}}
@media(max-width:850px){body:before{left:0}.portal-sidebar{width:270px}.portal-main{width:100%;margin-left:0}.portal-body{padding-top:30px}}
@media(max-width:650px){.step-ladder{grid-template-columns:1fr 1fr}.step-ladder span:nth-child(2){border-right:0!important}.step-ladder span:nth-child(-n+2){border-bottom:1px solid #e0eaf5!important}.portal-body{padding:26px 17px 64px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media print{body:before{display:none}.portal-panel,.portal-main .paper,.portal-main .card{box-shadow:none!important}}
