:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f6fb;--ink:#172033;--muted:#6b7485;--line:#e4e8f0;--surface:#fff;--primary:#315efb;--success:#15803d;--danger:#b42318;--shadow:0 24px 70px rgba(18,31,59,.10)}
*{box-sizing:border-box}body{margin:0}.installer-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#edf2ff,#f7f8fc 55%,#eef1f6)}
.installer-wrap{width:min(940px,calc(100% - 32px));padding:32px 0}.installer-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:42px}
.brand{font-weight:800;letter-spacing:-.04em;font-size:22px}.brand span{font-size:12px;color:var(--muted);margin-left:6px}
.hero{padding:48px 0 28px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--primary)}h1{font-size:clamp(32px,5vw,54px);line-height:1.02;letter-spacing:-.05em;margin:12px 0}p{color:var(--muted);line-height:1.6}
.check-list{display:grid;gap:10px;margin:10px 0 26px}.check{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.check-left{display:flex;gap:12px;align-items:center}.dot{width:9px;height:9px;border-radius:50%;background:#cbd2df}.dot.pass{background:#22a05a}.dot.block{background:#dc4c45}.status{font-size:11px;font-weight:800;letter-spacing:.08em}.status.pass{color:var(--success)}.status.block{color:var(--danger)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--line);padding-top:26px}label{font-size:13px;font-weight:700;display:grid;gap:8px}input{width:100%;padding:13px 14px;border:1px solid #d7dce6;border-radius:12px;font:inherit;outline:none}input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(49,94,251,.1)}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.btn{border:0;border-radius:12px;padding:13px 20px;font-weight:800;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.result{margin-top:20px;border-radius:14px;padding:16px;border:1px solid var(--line)}.result.success{background:#effaf2;border-color:#b9e5c5}.result.error{background:#fff3f1;border-color:#f1c2bd}
.app-shell{min-height:100vh}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.top-actions{font-size:13px;color:var(--success)}.page{max-width:1200px;margin:0 auto;padding:40px 24px}.empty-state{text-align:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:70px 24px}.empty-icon{font-size:42px}
@media(max-width:700px){.installer-card{padding:26px;border-radius:22px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero{padding-top:34px}.topbar{padding:0 18px}}

.page-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:8px}.metric-card span,.metric-card small{color:var(--muted);font-size:12px}.metric-card strong{font-size:28px;letter-spacing:-.03em}.btn:disabled{opacity:.55;cursor:not-allowed}
.toast{position:fixed;right:24px;bottom:24px;max-width:360px;padding:14px 16px;border-radius:14px;background:#172033;color:#fff;box-shadow:var(--shadow)}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,18,35,.45);display:grid;place-items:center;padding:20px}.modal{width:min(560px,100%);background:#fff;border-radius:22px;padding:26px;box-shadow:var(--shadow)}
@media(max-width:700px){.metric-grid{grid-template-columns:1fr}.page-header{align-items:start;flex-direction:column}}
.progress{height:7px;background:#edf0f5;border-radius:99px;overflow:hidden;margin:0 0 22px}.progress span{display:block;height:100%;width:0;background:var(--primary);transition:width .35s ease}.section-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800;padding-top:10px}
.table-card{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:18px;overflow:hidden}.toolbar{display:flex;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.toolbar input{flex:1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--line)}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fafbfc}.badge{display:inline-flex;padding:5px 9px;border-radius:99px;background:#eef1f6;font-size:11px;font-weight:800}.empty-state.compact{padding:30px}
.main-nav{display:flex;gap:8px;margin-bottom:24px}.main-nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:13px;padding:8px 10px;border-radius:10px}.main-nav a:hover{background:#eef1f6;color:var(--ink)}.row-actions{white-space:nowrap}.btn-sm{padding:8px 10px;font-size:12px}.danger{color:#b42318}.form-grid select{width:100%;padding:13px 14px;border:1px solid #d7dce6;border-radius:12px;background:#fff;font:inherit}.section-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.section-head h2{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}@media(max-width:800px){.detail-grid{grid-template-columns:1fr}}.section-copy{padding:0 20px;color:var(--muted)}.table-card form{padding:0 20px 20px;display:flex;gap:10px}.table-card select{min-width:260px;padding:12px;border:1px solid #d7dce6;border-radius:12px;background:#fff}.step-list{display:flex;flex-direction:column;gap:12px;margin:18px 0}.step-card{display:flex;gap:16px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}.step-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef1f6;font-weight:800}.step-card p{color:var(--muted);white-space:pre-wrap}.form-grid textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d7dce6;border-radius:12px}.form-grid select,.form-grid input{box-sizing:border-box;width:100%}
/* PROSENTA application shell */
.app-body{background:#f4f6fb;color:var(--ink)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{height:72px;max-width:1440px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand-link{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:9px}.brand-mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}.brand-link span:nth-child(2){font-size:18px}.brand-link small{font-size:10px;color:var(--muted);font-weight:800}.header-right{display:flex;align-items:center;gap:22px}.system-pill{font-size:12px;color:var(--success);font-weight:800}.system-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22a05a;margin-right:7px}.user-menu{display:flex;align-items:center;gap:10px;font-size:12px}.user-menu a{text-decoration:none;color:var(--muted);font-weight:700}.user-menu .logout-link{color:var(--danger)}.avatar{width:30px;height:30px;border-radius:50%;background:#eef1ff;color:var(--primary);display:grid;place-items:center;font-size:12px;font-weight:900}.mobile-menu{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:18px}
.app-frame{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{padding:28px 14px;border-right:1px solid var(--line);background:#f8f9fc}.side-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#8992a3;font-weight:900;padding:0 12px 10px}.side-label-settings{margin-top:28px}.side-nav{display:grid;gap:4px}.side-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:750}.side-nav a:hover{background:#fff;color:var(--ink)}.side-nav a.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px rgba(20,30,55,.05)}.nav-icon{width:7px;height:7px;border:1.5px solid currentColor;border-radius:2px;opacity:.7}.content-shell{min-width:0;display:flex;flex-direction:column}.content-inner{width:100%;max-width:1180px;margin:0 auto;padding:38px 32px 20px;flex:1}.site-footer{max-width:1180px;width:100%;margin:auto;padding:22px 32px 28px;display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;color:#8a93a3}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--ink)}
.page-header h1{margin-top:8px}.page-header p{margin-bottom:0}.main-nav{display:none}.auth-help{margin-top:16px;text-align:center;font-size:12px}.auth-help a{color:var(--primary)}
@media(max-width:900px){.app-frame{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:72px;bottom:0;width:250px;z-index:40;transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 40px rgba(20,30,55,.12)}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block}.header-right .system-pill{display:none}.content-inner{padding:28px 20px}.site-footer{padding:20px}.header-inner{padding:0 18px}}
@media(max-width:600px){.user-menu>a:not(.logout-link){display:none}.content-inner{padding:24px 15px}.site-footer{flex-wrap:wrap}.page-header{gap:15px}.page-header .btn{width:100%}.toolbar{flex-wrap:wrap}.toolbar .btn{width:auto}}
/* v0.89 visual system */
:root{--primary-2:#2147d9;--surface-2:#f8faff;--ink-2:#0f172a}
.content-inner{padding-top:42px}.page-header{position:relative}.page-header:after{content:"";position:absolute;left:0;bottom:-12px;width:48px;height:3px;border-radius:99px;background:var(--primary);opacity:.8}.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(35,65,150,.12)}.btn-primary:hover{background:var(--primary-2)}.metric-grid{margin-bottom:6px}.metric-card{position:relative;overflow:hidden;box-shadow:0 8px 26px rgba(18,31,59,.045)}.metric-card:after{content:"";position:absolute;right:-26px;top:-26px;width:90px;height:90px;border-radius:50%;background:#eef2ff}.metric-card>*{position:relative;z-index:1}.table-card{box-shadow:0 8px 28px rgba(18,31,59,.045)}.section-head{background:linear-gradient(180deg,#fff,#fbfcff)}.side-nav a{transition:all .15s ease}.side-nav a.active{font-weight:850;box-shadow:inset 3px 0 0 var(--primary),0 5px 18px rgba(35,65,150,.05)}
.modal-backdrop{background:rgba(11,18,34,.58);backdrop-filter:blur(5px);z-index:100}.modal{max-height:min(88vh,760px);overflow:auto;border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 100px rgba(5,12,28,.28);animation:modalIn .18s ease}.modal .page-header:after{display:none}.modal h2{font-size:26px;letter-spacing:-.035em}.modal form{margin-top:16px}.modal-close{margin-left:auto;width:40px;height:40px;border:0;border-radius:12px;background:#f1f3f7;font-size:20px;cursor:pointer}.modal[hidden],.modal-backdrop[hidden]{display:none!important}@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.form-actions{gap:10px;margin-top:6px}.form-grid{align-items:start}.form-grid label{color:#27324a}.form-grid textarea{font:inherit;resize:vertical}.filter-bar{display:flex;gap:10px;padding:18px 20px}.filter-bar input,.filter-bar select{flex:1}.timeline-item{position:relative;padding:18px 22px 18px 52px;border-bottom:1px solid var(--line)}.timeline-item:before{content:"";position:absolute;left:23px;top:24px;width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px #eef2ff}.timeline-item span{float:right;color:var(--muted);font-size:11px}.toast{z-index:200}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22a05a;margin-right:6px}.subtle{color:var(--muted);font-size:12px}.danger{color:var(--danger)!important}
@media(max-width:700px){.page-header .page-actions{width:100%}.page-actions .btn{flex:1}.filter-bar{flex-direction:column}.modal{padding:22px;border-radius:20px}}
.modal-wide{max-width:980px;width:min(96vw,980px)}
.table-actions{white-space:nowrap}.btn-small{padding:.48rem .7rem;font-size:.82rem}

.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:22px}.quick-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #e3e8f2;border-radius:16px;background:#fff;text-decoration:none;color:#172033;box-shadow:0 8px 24px rgba(24,39,75,.05)}.quick-card strong{font-size:16px}.quick-card span{font-size:12px;color:#6d7890}.quick-card-primary{border-color:#cdd8ff}.quick-card:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(24,39,75,.08)}
