:root{
 --navy:#173B57;--navy2:#102D43;--accent:#2A7396;--accent2:#3B8FB4;
 --bg:#F2F6F8;--surface:#FFFFFF;--ink:#173247;--muted:#748792;--line:#DCE6EB;
 --healthy:#15805D;--healthy-bg:#E6F6EF;--watch:#B9770E;--watch-bg:#FFF3DE;
 --critical:#C44D52;--critical-bg:#FFE9EA;--blue-bg:#E8F2F8;--shadow:0 12px 36px rgba(17,48,69,.07);
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{min-height:100vh}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}
input,select,textarea{width:100%;border:1px solid #CCD9E0;border-radius:10px;background:#fff;color:var(--ink);padding:10px 11px;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:#78A9BF;box-shadow:0 0 0 3px rgba(42,115,150,.1)}
label{font-size:11px;font-weight:800;color:#536B79;display:flex;flex-direction:column;gap:6px}
small,.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}.grow{flex:1}.full{width:100%}
.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:900;color:var(--accent);text-transform:uppercase}.eyebrow.light{color:#91D0E7}
.btn{border:1px solid #C9D7DF;background:#fff;color:var(--ink);border-radius:10px;padding:9px 13px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.btn:hover{border-color:#9CB7C6}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy2)}
.hero-btn{padding:12px 17px;font-size:13px}.large-btn{width:100%;padding:13px}.backlink{display:block;font-size:12px;color:var(--muted);font-weight:800;margin-bottom:15px}.backlink:hover{color:var(--accent)}
.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.check input{width:auto}
.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;line-height:1;font-weight:900;text-transform:uppercase;white-space:nowrap}
.pill.healthy,.pill.final{background:var(--healthy-bg);color:var(--healthy)}.pill.watch,.pill.collecting,.pill.editing{background:var(--watch-bg);color:var(--watch)}
.pill.critical{background:var(--critical-bg);color:var(--critical)}.pill.neutral,.pill.setup{background:#EDF2F4;color:#687D89}.pill.generated{background:#E6F0FA;color:#326991}
.flash{max-width:1500px;margin:0 auto 18px;padding:11px 14px;border-radius:10px;display:flex;gap:9px;align-items:flex-start;font-size:12px;font-weight:700}.flash.success{background:var(--healthy-bg);color:#126B4D}.flash.error{background:var(--critical-bg);color:#A63C41}
.topnav{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:50}
.logo{display:flex;align-items:center;gap:10px;width:240px}.logo>span:last-child{display:flex;flex-direction:column}.logo b{font-size:14px}.logo small{font-size:9px}
.logo-icon{width:37px;height:37px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;box-shadow:0 5px 14px rgba(23,59,87,.18)}.logo-icon.large{width:47px;height:47px;font-size:19px}
.mainnav{display:flex;align-items:stretch;gap:4px;height:70px;flex:1}.mainnav a{display:flex;align-items:center;padding:0 13px;font-size:12px;font-weight:800;color:#627784;border-bottom:3px solid transparent}.mainnav a:hover,.mainnav a.active{color:var(--navy);background:#F7FAFB}.mainnav a.active{border-bottom-color:var(--accent)}
.userbox{display:flex;align-items:center;gap:10px}.userbox>div{display:flex;flex-direction:column;text-align:right}.userbox b{font-size:11px}.userbox small{text-transform:capitalize;font-size:9px}.userbox button{border:0;background:#EEF3F6;color:#5C7481;width:32px;height:32px;border-radius:8px}
.shell{max-width:1500px;margin:0 auto;padding:30px}.shell.narrow{max-width:1250px}
.page-head,.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:24px}.page-head h1,.hero h1{margin:5px 0 6px;font-size:31px;letter-spacing:-.025em}.page-head p,.hero p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}
.hero{align-items:center;background:linear-gradient(115deg,#F9FCFD,#EAF3F7);padding:30px;border-radius:19px;border:1px solid #D9E7ED}.hero h1{font-size:35px}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px}.panel-head h2{font-size:18px;margin:4px 0 0}.panel-head>a{font-size:11px;font-weight:800;color:var(--accent)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:19px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:11px}
.stat-card>span{grid-row:1/3;width:40px;height:40px;background:var(--blue-bg);color:var(--accent);display:grid;place-items:center;border-radius:10px}.stat-card small{font-size:10px}.stat-card strong{font-size:23px;color:var(--navy)}
.dash-grid{display:grid;grid-template-columns:1fr 400px;gap:18px}.dash-grid.viewer-dash{grid-template-columns:1fr}.owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-card{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:44px 1fr auto;gap:11px;background:#FBFDFE}
.avatar{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--navy),var(--accent));color:#fff;display:grid;place-items:center;font-weight:900}.owner-main h3{font-size:14px;margin:2px 0}.owner-main p{font-size:10px;color:var(--muted);margin:0 0 8px}
.service-chips,.metric-chips{display:flex;gap:5px;flex-wrap:wrap}.service-chips span,.metric-chips span{font-size:8px;font-weight:800;background:#EEF4F7;color:#607783;border-radius:999px;padding:4px 7px}.owner-actions{display:flex;gap:6px;align-items:flex-start}.owner-actions .btn{padding:7px 9px;font-size:10px}
.recent-list{display:flex;flex-direction:column;gap:8px}.recent-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:10px}.recent-row>div{display:flex;flex-direction:column;flex:1}.recent-row b{font-size:11px}.recent-row small{font-size:9px}.report-icon{width:34px;height:34px;border-radius:9px;background:var(--blue-bg);color:var(--accent);display:grid;place-items:center}
.empty{padding:20px;text-align:center;color:var(--muted);font-size:11px;border:1px dashed #CCD9E0;border-radius:10px}

/* login */
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(420px,.8fr);background:#fff}.login-visual{background:linear-gradient(140deg,#102D43,#1D5877 62%,#2D7999);color:#fff;padding:44px 55px;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:90px solid rgba(255,255,255,.035);right:-170px;bottom:-210px}
.visual-brand{display:flex;align-items:center;gap:11px;font-size:14px}.visual-copy{position:absolute;left:55px;top:50%;transform:translateY(-48%);max-width:680px}.visual-copy h1{font-size:48px;line-height:1.08;letter-spacing:-.04em;margin:10px 0 18px}.visual-copy>p{color:#C9E0EA;line-height:1.65;max-width:570px}
.login-demo{display:flex;align-items:flex-end;gap:18px;margin-top:35px}.fake-card{width:175px;height:115px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:15px;padding:14px;display:flex;flex-direction:column;gap:4px;backdrop-filter:blur(8px)}.fake-card i{color:#7FD0B1}.fake-card span{font-size:9px;color:#C8DFE8}.fake-card strong{font-size:27px}.fake-chart{height:115px;width:280px;border-bottom:1px solid rgba(255,255,255,.15);display:flex;align-items:flex-end;gap:12px;padding:0 15px}.fake-chart span{width:34px;background:rgba(120,201,231,.65);border-radius:6px 6px 0 0}.fake-chart span:nth-child(1){height:45%}.fake-chart span:nth-child(2){height:68%}.fake-chart span:nth-child(3){height:60%}.fake-chart span:nth-child(4){height:80%}.fake-chart span:nth-child(5){height:72%}
.login-form-side{display:grid;place-items:center;padding:40px}.login-form{width:min(390px,100%);display:flex;flex-direction:column;gap:14px}.login-form h2{font-size:29px;margin:2px 0 0}.login-form>p{color:var(--muted);margin:-7px 0 6px}.password-wrap{position:relative}.password-wrap button{position:absolute;right:5px;top:5px;width:34px;height:34px;border:0;background:transparent;color:#708490}.password-wrap input{padding-right:44px}.demo-hint{background:#F1F6F8;border:1px solid var(--line);border-radius:9px;padding:9px;text-align:center;font-size:10px;color:var(--muted)}

/* business */
.add-panel summary{cursor:pointer;font-size:12px;font-weight:900;color:var(--navy);list-style:none}.add-panel summary i{color:var(--accent);margin-right:7px}.add-panel[open] summary{margin-bottom:16px}.inline-form{display:grid;grid-template-columns:1.3fr .8fr 1.3fr auto;gap:10px;align-items:end}.service-add{grid-template-columns:1.2fr .7fr 1.4fr 1fr auto}.hint{margin-top:12px;background:#F2F7FA;border-radius:9px;padding:9px;font-size:10px;color:#607783}.hint i{color:#D69825;margin-right:6px}
.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.business-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow);transition:.15s}.business-card:hover{transform:translateY(-2px);border-color:#B6CDD8}.business-top{display:flex;justify-content:space-between}.business-card h2{font-size:18px;margin:14px 0 2px}.business-card>p{font-size:10px;color:var(--muted)}.service-list-mini{display:flex;flex-direction:column;gap:7px;border-top:1px solid #E7EDF0;padding-top:11px}.service-list-mini span{font-size:10px;color:#58707C}.service-list-mini i{margin-right:7px;color:var(--accent)}.card-link{margin-top:14px;font-size:10px;font-weight:900;color:var(--accent);display:flex;justify-content:space-between}
.service-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-config-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow)}.service-card-head{display:flex;align-items:center;gap:10px}.service-card-head>div{flex:1}.service-card-head h2{font-size:16px;margin:0}.service-card-head small{font-size:9px}.service-icon{width:36px;height:36px;border-radius:9px;background:var(--blue-bg);color:var(--accent);display:grid;place-items:center}.service-config-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;margin:14px 0}.service-config-stats>div{padding:10px;display:flex;flex-direction:column}.service-config-stats>div+div{border-left:1px solid var(--line)}.service-config-stats strong{font-size:17px}.service-config-stats small{font-size:8px}.resource-line{font-size:9px;color:#607783;margin:13px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-line i{color:var(--accent);margin-right:6px}
.config-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:17px}.integration-toggle{flex-direction:row!important;align-items:center;border:1px solid #CFE0E8;background:#F5FAFC;padding:12px;border-radius:10px}.integration-toggle input{width:auto}.integration-toggle span{display:flex;flex-direction:column}.metric-group{margin-top:16px}.metric-group-title{font-size:10px;font-weight:900;color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}.metric-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.metric-check{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:8px!important;border:1px solid var(--line);border-radius:10px;padding:9px;background:#FBFDFE}.metric-check input{width:auto}.metric-check span{display:flex;flex-direction:column}.metric-check b{font-size:10px;color:var(--ink)}.metric-check small{font-size:8px}.metric-check em{font-size:7px;font-style:normal;text-transform:uppercase;background:#E9F2F7;color:#39718C;border-radius:999px;padding:3px 5px}.resource-checks{display:flex;flex-direction:column;gap:7px}.resource-check{grid-template-columns:auto 1fr}
.sticky-actions{position:sticky;bottom:0;background:rgba(242,246,248,.96);border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;align-items:center;z-index:15}.sticky-actions>div{display:flex;gap:12px;align-items:center}

/* wizard */
.owner-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.owner-select{display:grid!important;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px!important;border:2px solid var(--line);padding:12px;border-radius:13px;cursor:pointer}.owner-select input{display:none}.owner-select>span:nth-of-type(2){display:flex;flex-direction:column}.owner-select i{color:#C8D5DC;font-size:18px}.owner-select:has(input:checked){border-color:var(--accent);background:#F1F8FB}.owner-select:has(input:checked) i{color:var(--accent)}
.form-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:10px}.wizard-actions{display:flex;justify-content:flex-end;align-items:center;gap:15px}.wizard-actions span{font-size:10px;color:var(--muted)}
.stepper{display:flex;align-items:center}.stepper span{width:28px;height:28px;border:2px solid #CBD8DF;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900;color:#758893;background:#fff}.stepper i{width:38px;height:2px;background:#D8E2E7}.stepper .done{border-color:var(--healthy);background:var(--healthy);color:#fff}.stepper .active{border-color:var(--accent);color:var(--accent)}
.report-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.report-service-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.report-service-head{display:flex;align-items:center;gap:10px}.report-service-head h2{font-size:15px;margin:0}.report-service-head p{font-size:9px;color:var(--muted);margin:2px 0}.service-toggle input{display:none}.service-toggle span{width:37px;height:21px;border-radius:999px;background:#CDD8DE;display:block;position:relative}.service-toggle span:after{content:"";width:17px;height:17px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:.15s;box-shadow:0 1px 4px rgba(0,0,0,.15)}.service-toggle input:checked+span{background:var(--healthy)}.service-toggle input:checked+span:after{left:18px}
.report-metrics{margin-top:13px;border-top:1px solid var(--line);padding-top:8px}.report-metric-category{display:grid;grid-template-columns:100px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #EDF1F3}.report-metric-category>b{font-size:9px;color:#5F7581;padding-top:5px}.report-metric-category>div{display:flex;flex-wrap:wrap;gap:5px}.tiny-check{display:flex!important;flex-direction:row!important;gap:4px!important;align-items:center;background:#F1F5F7;border-radius:7px;padding:4px 6px;font-size:8px!important;cursor:pointer}.tiny-check input{width:auto}.tiny-check:has(input:checked){background:#E5F1F7;color:#245E78}.tiny-check em{font-style:normal;border-radius:50%;background:#2A7396;color:#fff;width:13px;height:13px;display:grid;place-items:center;font-size:7px}.report-only-note{display:block;margin-top:10px;font-size:8px}

/* data matrix */
.readiness-card{display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 20px;margin-bottom:17px;box-shadow:var(--shadow)}.readiness-card>div:first-child{display:flex;flex-direction:column}.readiness-card strong{font-size:32px;color:var(--navy)}.readiness-bar{height:10px;background:#E6EDF1;border-radius:999px;overflow:hidden}.readiness-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#46A181);border-radius:inherit}
.data-panel{padding:0;overflow:hidden}.data-service-head{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.data-service-head>div:first-child{display:flex;gap:10px;align-items:center}.data-service-head h2{font-size:17px;margin:2px 0}.data-service-head p{font-size:9px;color:var(--muted);margin:2px 0}.week-legend{display:flex;gap:24px}.week-legend span{font-size:9px;font-weight:900;color:var(--accent)}.summary-field{margin:14px 18px}.matrix-group{border-top:1px solid var(--line)}.matrix-category{background:#EFF5F7;padding:8px 18px;font-size:9px;font-weight:900;color:var(--navy);text-transform:uppercase;letter-spacing:.08em}.matrix{overflow-x:auto}.matrix-row{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(90px,.65fr)) minmax(140px,1fr) 80px;gap:7px;align-items:center;padding:7px 18px;border-top:1px solid #EDF1F3;min-width:930px}.matrix-row:has(.week-input:nth-of-type(5)){grid-template-columns:minmax(190px,1.4fr) repeat(5,minmax(80px,.6fr)) minmax(140px,1fr) 80px}.matrix-header{background:#FAFCFD;font-size:8px;font-weight:900;color:#748792;text-transform:uppercase}.metric-name{display:flex;flex-direction:column}.metric-name b{font-size:10px}.metric-name small{font-size:7px}.week-input{position:relative}.week-input input{padding-right:28px}.week-input small{position:absolute;right:7px;top:11px;font-size:7px;color:#8A9AA3}.aggregation{font-size:8px;font-weight:900;background:#EDF3F6;border-radius:7px;padding:7px;text-align:center;color:#617985}
.resource-data{padding-bottom:16px}.service-icon.server{background:#EEF1F7;color:#566D91}.resource-matrix-block{margin:14px 18px;border:1px solid var(--line);border-radius:11px;overflow:hidden}.resource-matrix-title{padding:9px 11px;background:#F6F9FA;display:flex;flex-direction:column}.resource-matrix-title b{font-size:10px}.resource-matrix-title small{font-size:8px}.resource-matrix{display:grid;grid-template-columns:130px repeat(4,1fr);gap:7px;align-items:center;padding:10px}.resource-matrix:has(> b:nth-of-type(5)){grid-template-columns:130px repeat(5,1fr)}.resource-matrix b{font-size:8px;color:#718590}.resource-matrix>span{font-size:9px;font-weight:800}

/* report library */
.report-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.library-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.library-cover{height:160px;background:linear-gradient(135deg,#EAF3F7,#F9FCFD);position:relative;padding:18px;display:flex;align-items:flex-end}.cover-brand{position:absolute;top:15px;left:15px;width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center}.library-cover>.pill{position:absolute;top:16px;right:16px}.cover-chart{height:75px;width:100%;display:flex;align-items:flex-end;gap:14px;padding:0 28px}.cover-chart span{flex:1;background:linear-gradient(#4F9DBB,#2A7396);border-radius:7px 7px 0 0;opacity:.85}.library-body{padding:16px}.library-body h2{font-size:18px;margin:3px 0}.library-body p{font-size:9px;color:var(--muted)}.library-actions{display:flex;gap:7px;margin-top:12px}

/* preview report */
.preview-toolbar{height:58px;position:sticky;top:0;background:#F8FBFC;border-bottom:1px solid #CBD8DF;display:flex;align-items:center;gap:12px;padding:0 16px;z-index:100}.preview-title{display:flex;flex-direction:column;flex:1}.preview-title b{font-size:11px}.preview-title small{font-size:8px}.preview-actions{display:flex;gap:7px}.preview-actions form{display:flex}
.preview-stage{background:#C9D5DC;padding:24px;overflow:auto}.report-page{width:1600px;height:900px;margin:0 auto 24px;position:relative;overflow:hidden;box-shadow:0 18px 42px rgba(13,40,57,.18);color:var(--ink)}
.report-page-head{position:absolute;left:70px;right:70px;top:38px;height:70px;display:flex;justify-content:space-between;align-items:flex-start;z-index:1000}.report-page-head h1{font-size:31px;margin:2px 0 1px;color:var(--navy);letter-spacing:-.025em}.report-page-head p{font-size:9px;color:#768892}.page-mark{display:flex;align-items:center;gap:10px;color:var(--navy)}.page-mark i{font-size:17px}.page-mark b{font-size:25px;color:#B8C7CF}
.report-footer{position:absolute;left:70px;right:70px;bottom:18px;height:22px;border-top:1px solid #D8E2E7;display:flex;justify-content:space-between;align-items:flex-end;font-size:8px;color:#7E8F98;z-index:1000}
.report-element{position:absolute}.report-element-content{width:100%;height:100%;border:1px solid #D9E4E9;border-radius:14px;padding:16px;overflow:hidden;box-shadow:0 6px 20px rgba(25,55,74,.045)}.element-title{height:24px;display:flex;align-items:center;gap:8px;margin-bottom:7px}.element-title>span{width:4px;height:18px;background:var(--accent);border-radius:4px}.element-title h3{margin:0;font-size:12px;color:var(--navy)}
.visual-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));height:calc(100% - 30px);gap:8px}.visual-kpi{border:1px solid #E0E8EC;border-radius:11px;background:#FBFDFE;padding:10px;display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center}.kpi-icon{width:30px;height:30px;border-radius:8px;background:#ECF3F6;color:var(--accent);display:grid;place-items:center}.visual-kpi>div:nth-child(2){display:flex;flex-direction:column}.visual-kpi small{font-size:7px}.visual-kpi strong{font-size:20px;color:var(--navy)}.status-dot{width:8px;height:8px;border-radius:50%;background:#91A2AB}.visual-kpi.healthy .status-dot{background:var(--healthy)}.visual-kpi.watch .status-dot{background:var(--watch)}.visual-kpi.critical .status-dot{background:var(--critical)}
.chart-box{height:calc(100% - 30px);min-height:100px}.chart-box canvas{width:100%!important;height:100%!important}
.resource-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;height:calc(100% - 30px)}.resource-visual-card{border:1px solid #DFE8EC;border-radius:10px;padding:9px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center}.server-icon{width:32px;height:32px;border-radius:8px;background:#EEF2F7;color:#597292;display:grid;place-items:center}.resource-visual-card>div{display:flex;flex-direction:column}.resource-visual-card b{font-size:9px}.resource-visual-card small{font-size:7px}.resource-visual-card em{font-size:7px;font-style:normal;color:#5D7480;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.visual-table-wrap{height:calc(100% - 30px);overflow:auto;border:1px solid #DFE7EB;border-radius:9px}.visual-table-wrap table{width:100%;border-collapse:collapse;font-size:8px}.visual-table-wrap th{text-align:left;background:#EEF4F6;color:#5F7581;text-transform:uppercase;font-size:7px;padding:8px}.visual-table-wrap td{padding:8px;border-top:1px solid #E5ECEF}.visual-narrative{height:calc(100% - 30px);display:flex;align-items:center;font-size:inherit;line-height:1.5;color:inherit}

/* visual editor */
.editor-shell{height:100vh;overflow:hidden;background:#D9E2E7}.editor-toolbar{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 12px;position:relative;z-index:100}.editor-back{width:34px;height:34px;border-radius:8px;background:#EEF3F5;display:grid;place-items:center}.editor-report-name{display:flex;flex-direction:column;min-width:250px}.editor-report-name b{font-size:10px}.editor-report-name small{font-size:8px}.editor-toolbar-center{flex:1;display:flex;justify-content:center;gap:7px}.tool-chip,.zoom-chip{border:1px solid var(--line);background:#F7FAFB;border-radius:7px;padding:6px 9px;font-size:9px;color:#627783}.zoom-chip{display:inline-flex;align-items:center}
.editor-body{height:calc(100vh - 58px);display:grid;grid-template-columns:220px 1fr 290px;min-height:0}.editor-left,.editor-right{background:#fff;overflow:auto;padding:13px}.editor-left{border-right:1px solid var(--line)}.editor-right{border-left:1px solid var(--line)}.editor-left hr,.editor-right hr{border:0;border-top:1px solid var(--line);margin:15px 0}
.page-thumbs{display:flex;flex-direction:column;gap:7px;margin-top:8px}.page-thumb{display:grid;grid-template-columns:20px 1fr;gap:6px;align-items:center;padding:5px;border:2px solid transparent;border-radius:8px}.page-thumb.active{border-color:var(--accent);background:#F0F7FA}.page-thumb>span{font-size:8px;text-align:center}.mini-slide{height:65px;background:#F2F6F8;border:1px solid #D9E3E8;border-radius:5px;padding:7px;display:flex;flex-direction:column;justify-content:space-between}.mini-slide i{color:var(--navy)}.mini-slide small{font-size:7px}.sidebar-action{width:100%;border:1px solid var(--line);background:#F8FAFB;border-radius:8px;padding:7px;margin-top:8px;font-size:9px;font-weight:800;color:#627783}.add-element-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.add-element-grid button{width:100%;height:58px;border:1px solid var(--line);background:#F9FBFC;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#5C7481}.add-element-grid button i{font-size:16px}.add-element-grid span{font-size:8px}.layer-list{display:flex;flex-direction:column;gap:4px;margin-top:7px}.layer-list a{display:flex;align-items:center;gap:7px;padding:7px;border-radius:7px;font-size:8px;color:#607580}.layer-list a.active{background:#E9F3F7;color:var(--navy)}.layer-list i{width:15px}
.editor-center{overflow:auto;background:#D4DEE4;padding:30px}.canvas-scaled{width:992px;height:558px;margin:0 auto;position:relative}.editor-canvas{margin:0;transform:scale(.62);transform-origin:top left;box-shadow:0 15px 40px rgba(17,43,60,.18)}.editable-element{touch-action:none;cursor:move}.editable-element:hover:after,.editable-element.selected:after{content:"";position:absolute;inset:-3px;border:3px solid #3C9CC5;pointer-events:none;border-radius:15px}.editable-element.selected:before{content:"";position:absolute;top:-10px;left:-10px;width:12px;height:12px;border-radius:50%;background:#3C9CC5;z-index:2000}.resize-handle{display:none;position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;border-radius:3px;background:#fff;border:3px solid #3C9CC5;z-index:3000;cursor:nwse-resize}.editable-element.selected .resize-handle{display:block}.editor-fixed-head{pointer-events:none}
.prop-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.prop-head h3{font-size:14px;margin:3px 0;text-transform:capitalize}.prop-form{display:flex;flex-direction:column;gap:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.geometry-box{margin-top:15px;border-top:1px solid var(--line);padding-top:14px}.geometry-box>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.geometry-box input{padding:6px;background:#F4F7F8;font-size:9px}.geometry-box small{display:block;font-size:8px;line-height:1.4;margin-top:8px}.danger-link{border:0;background:transparent;color:var(--critical);font-size:9px;font-weight:900;padding:15px 0}.props-empty{margin-top:30px;display:flex;flex-direction:column;gap:7px;align-items:center}.props-empty i{font-size:22px}

/* settings/users */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.stack-form{display:flex;flex-direction:column;gap:10px}.check-row{display:flex;gap:18px}.settings-table-wrap{overflow:auto}.settings-table{width:100%;border-collapse:collapse;font-size:10px}.settings-table th{text-align:left;background:#EFF4F6;padding:9px;font-size:8px;color:#5D7480}.settings-table td{padding:9px;border-top:1px solid var(--line)}.settings-table td:first-child{display:flex;flex-direction:column}.settings-table td:first-child small{font-size:7px}.resource-list-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.resource-list-settings>div{border:1px solid var(--line);border-radius:10px;padding:9px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center}.resource-list-settings>div>div{display:flex;flex-direction:column}.resource-list-settings b{font-size:9px}.resource-list-settings small{font-size:7px}
.role-guide{display:flex;flex-direction:column}.role-row{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.role-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#EEF3F6}.role-row b{font-size:10px}.role-row p{font-size:8px;color:var(--muted);margin:2px 0}.user-list{display:flex;flex-direction:column}.user-row{display:flex;align-items:center;gap:10px;padding:9px;border-top:1px solid var(--line)}.user-row>div:nth-child(2){display:flex;flex-direction:column}.user-row b{font-size:10px}.user-row small{font-size:8px}.role-badge{font-size:8px;font-weight:900;text-transform:uppercase;border-radius:999px;padding:5px 8px;background:#EDF3F6;color:#5A7280}.role-badge.super_admin{background:#EDE8FA;color:#6A55A3}.role-badge.admin{background:#E5F1F7;color:#316F8A}.role-badge.editor{background:#FFF1DB;color:#A16913}.role-badge.viewer{background:#EDF2F4;color:#667A85}

/* responsive */
@media(max-width:1200px){
 .mainnav a{padding:0 8px}.dash-grid{grid-template-columns:1fr}.business-grid,.service-card-grid,.report-library-grid{grid-template-columns:repeat(2,1fr)}.config-grid{grid-template-columns:1fr}.report-service-grid{grid-template-columns:1fr}
 .editor-body{grid-template-columns:190px 1fr 270px}
}
@media(max-width:800px){
 .topnav{overflow:auto}.logo{min-width:200px}.mainnav{min-width:500px}.shell{padding:18px}.stat-grid{grid-template-columns:1fr 1fr}.owner-grid,.business-grid,.service-card-grid,.report-library-grid,.settings-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}.inline-form,.service-add,.form-grid{grid-template-columns:1fr}.owner-select-grid{grid-template-columns:1fr}.metric-check-grid{grid-template-columns:1fr}
}
@media print{
 @page{size:16in 9in;margin:0}
 .no-print,.flash{display:none!important}.preview-stage{padding:0;background:#fff}.report-page{box-shadow:none;margin:0;page-break-after:always}
}

.owner-edit-form{grid-template-columns:1.2fr .7fr 1.3fr auto auto}.owner-edit-panel summary i{color:var(--accent);margin-right:7px}


/* v3.2 service/server dependency UX */
.owner-admin-row{display:grid;grid-template-columns:1fr;gap:12px}
.add-service-panel{padding:0;overflow:hidden}
.add-service-panel>summary{padding:18px 20px;background:#fff}
.add-service-panel[open]>summary{margin-bottom:0;border-bottom:1px solid var(--line)}
.service-create-form{display:flex;flex-direction:column}
.service-create-section{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:18px 20px;border-top:1px solid #EDF2F4}
.service-create-section:first-of-type{border-top:0}
.section-number{width:30px;height:30px;border-radius:9px;background:#E8F2F8;color:var(--accent);display:grid;place-items:center;font-size:11px;font-weight:900}
.section-body{min-width:0}
.section-title{display:flex;flex-direction:column;margin-bottom:12px}
.section-title>b{font-size:12px;color:var(--navy)}
.section-title>small{font-size:9px;margin-top:2px}
.service-identity-grid{grid-template-columns:1.1fr .65fr 1.2fr 1fr}
.integration-toggle.compact{align-self:end;min-height:59px}
.service-create-section.final-step{grid-template-columns:38px 1fr auto;align-items:center;background:#F8FBFC}
.section-heading{margin:25px 0 12px}
.section-heading h2{margin:4px 0 0;font-size:19px}

.resource-picker{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#FBFDFE}
.resource-search{height:43px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);background:#F7FAFB}
.resource-search i{color:#81929C}
.resource-search input{border:0;background:transparent;box-shadow:none;padding:6px}
.resource-search input:focus{box-shadow:none}
.resource-options{max-height:210px;overflow:auto;padding:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.compact-picker .resource-options,.report-resource-picker .resource-options{grid-template-columns:1fr;max-height:260px}
.resource-option{display:grid!important;grid-template-columns:auto 34px 1fr auto;align-items:center;gap:8px!important;border:1px solid #E0E8EC;border-radius:9px;padding:8px;background:#fff;cursor:pointer}
.resource-option:hover{border-color:#B7CCD6;background:#FAFCFD}
.resource-option>input{width:auto}
.resource-option-copy{display:flex;flex-direction:column;min-width:0}
.resource-option-copy b{font-size:9px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resource-option-copy small{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resource-checkmark{color:#C8D6DD}
.resource-option:has(input:checked){border-color:#77AFC7;background:#EEF7FA}
.resource-option:has(input:checked) .resource-checkmark{color:var(--accent)}
.resource-option[hidden]{display:none!important}

.new-resource-box{margin-top:11px;padding:13px;border:1px dashed #B8CDD7;background:#F5FAFC;border-radius:11px}
.new-resource-head{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.new-resource-head>div{display:flex;flex-direction:column}
.new-resource-head b{font-size:10px}
.new-resource-head small{font-size:8px}
.new-resource-box>label{margin-bottom:8px}
.inline-new-resource{margin-top:10px}
.inline-new-resource>summary{cursor:pointer;list-style:none;font-size:9px;font-weight:900;color:var(--accent)}
.inline-new-resource>summary i{margin-right:5px}
.report-new-resource{margin-top:8px}
.save-default-check{margin-top:10px;font-size:9px!important}

.resource-list-card{margin:12px 0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.resource-list-label{font-size:8px;font-weight:900;color:#607783;margin-right:2px}
.resource-list-label i{color:var(--accent);margin-right:4px}
.resource-chip{font-size:8px;font-weight:800;border-radius:999px;background:#EEF3F6;color:#526D7C;padding:4px 7px}
.resource-chip.empty-chip{background:#F5F6F7;color:#8B989F}

.setup-block{margin-top:13px;border:1px solid #E2E9ED;border-radius:11px;overflow:hidden}
.setup-block-head{display:flex;justify-content:space-between;align-items:center;padding:10px 11px;background:#F8FBFC;border-bottom:1px solid #E5ECEF}
.setup-block-head>div{display:flex;flex-direction:column}
.setup-block-head b{font-size:9px;margin-top:2px}
.setup-block .report-metrics{margin-top:0;border-top:0;padding:7px 10px}
.server-setup-block{padding-bottom:10px}
.server-setup-block>.resource-picker,.server-setup-block>.empty,.server-setup-block>.inline-new-resource{margin-left:10px;margin-right:10px}
.server-setup-block>.resource-picker{margin-top:10px}
.report-resource-picker .resource-options{max-height:165px}

.data-resource-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
.data-resource-chips span{font-size:7px;font-weight:800;background:#EEF3F6;color:#5A7180;border-radius:999px;padding:3px 6px}
.data-resource-chips i{margin-right:3px;color:#728998}
.resource-matrix-title{flex-direction:row!important;justify-content:space-between;align-items:center}
.resource-matrix-title>div:first-child{display:flex;flex-direction:column}
.resource-used-by{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.resource-used-by>span{font-size:7px;text-transform:uppercase;font-weight:900;color:#81919A}
.resource-used-by em{font-style:normal;font-size:7px;font-weight:800;background:#E8F2F8;color:#396E87;border-radius:999px;padding:3px 6px}

@media(max-width:1050px){
 .service-identity-grid{grid-template-columns:1fr 1fr}
 .resource-options{grid-template-columns:1fr}
 .service-create-section.final-step{grid-template-columns:38px 1fr}
 .service-create-section.final-step>.btn{grid-column:2}
}
@media(max-width:700px){
 .service-create-section{grid-template-columns:1fr}
 .section-number{display:none}
 .service-identity-grid{grid-template-columns:1fr}
 .service-create-section.final-step{grid-template-columns:1fr}
 .service-create-section.final-step>.btn{grid-column:auto}
}

/* v3.3 service lifecycle */
.service-card-status{display:flex;gap:4px;align-items:center}
.service-card-actions{display:flex;gap:6px;align-items:center;margin-top:12px}
.service-card-actions form{display:flex}
.service-card-actions .btn{height:36px}
.archive-btn{color:#8A6617;background:#FFF7E5;border-color:#E8D4A4}
.restore-btn{color:#247356;background:#EAF7F1;border-color:#BCE0D0}
.delete-btn{color:#B74248;background:#FFF0F0;border-color:#E7B8BB}
.archived-note{margin-top:9px;border-radius:8px;background:#F2F4F5;color:#6F7E86;padding:7px 9px;font-size:8px;line-height:1.4}
.archived-note i{margin-right:4px}
.service-config-card:has(.pill.neutral:first-child){opacity:.76}

/* v4 local asset/icon fallback */
.bi{font-style:normal;display:inline-flex;align-items:center;justify-content:center}.bi:before{content:"•"}.bi-bar-chart-fill:before{content:"▥"}.bi-box-arrow-right:before{content:"↪"}.bi-plus-lg:before,.bi-plus-circle:before,.bi-plus-circle-fill:before{content:"+"}.bi-arrow-right:before{content:"→"}.bi-arrow-left:before{content:"←"}.bi-hdd-rack-fill:before,.bi-hdd-rack:before{content:"▤"}.bi-check-lg:before,.bi-check-circle-fill:before{content:"✓"}.bi-search:before{content:"⌕"}.bi-pencil-square:before{content:"✎"}.bi-box-fill:before{content:"■"}.bi-archive:before{content:"▱"}.bi-trash3:before{content:"×"}.bi-arrow-counterclockwise:before,.bi-arrow-repeat:before{content:"↻"}.bi-lock-fill:before{content:"▣"}.bi-unlock:before{content:"□"}.bi-download:before{content:"⇩"}.bi-bounding-box:before{content:"⌗"}.bi-copy:before{content:"⧉"}.bi-fonts:before{content:"T"}.bi-card-text:before{content:"≡"}.bi-graph-up:before{content:"⌁"}.bi-table:before{content:"▦"}.bi-square:before{content:"□"}.bi-database:before{content:"◉"}.bi-people-fill:before{content:"◌"}.bi-stars:before{content:"✦"}.bi-file-earmark-bar-graph:before{content:"▥"}.bi-activity:before{content:"⌁"}

/* v4 create/reporting */
.scope-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.scope-card{display:grid;grid-template-columns:auto 46px 1fr;align-items:center;gap:10px;border:2px solid var(--line);border-radius:14px;padding:15px;cursor:pointer}.scope-card>input{width:auto}.scope-card:has(input:checked){border-color:var(--accent);background:#F1F8FB}.scope-icon{width:42px;height:42px;border-radius:10px;background:var(--navy);color:white;display:grid;place-items:center;font-size:10px;font-weight:900}.scope-card>span:last-child{display:flex;flex-direction:column}.scope-card b{font-size:12px}.scope-card small{font-size:9px}.report-target,.period-grid{margin:18px 0}.flow-hint{border:1px dashed #C9D9E1;border-radius:10px;padding:10px;display:flex;flex-direction:column;justify-content:center}.flow-hint b{font-size:10px}.flow-hint small{font-size:8px}.create-report-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px}.create-report-footer>div{display:flex;flex-direction:column}.create-report-footer b{font-size:10px}.create-report-footer small{font-size:8px}.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.service-summary-label{padding:10px 12px}.service-disabled{opacity:.5}.service-disabled .setup-block{pointer-events:none}.metric-inline{padding:0 10px 10px}
.readiness-ring{width:84px;height:84px;border-radius:50%;border:8px solid #D7E6EC;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.readiness-ring strong{font-size:20px}.readiness-ring small{font-size:8px}.readiness-bar{height:8px;background:#DFE8EC;border-radius:99px;overflow:hidden}.readiness-bar span,.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#56A7C6);border-radius:99px}.readiness-copy{font-size:9px;color:var(--muted);margin:7px 0 17px}.source-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.source-section-head>div:first-child{display:flex;align-items:center;gap:9px}.source-section-head h2{margin:2px 0}.source-section-head p{font-size:8px;color:var(--muted);margin:2px 0}.source-metric-table-wrap{overflow:auto;margin-top:12px}.source-metric-table{width:100%;border-collapse:separate;border-spacing:0;font-size:9px}.source-metric-table th{background:#EDF4F7;text-align:left;padding:9px;min-width:210px}.source-metric-table th:not(:first-child){min-width:235px}.source-metric-table th small{display:block;font-size:7px}.source-metric-table td{vertical-align:top;padding:8px;border-bottom:1px solid var(--line)}.source-metric-table td:first-child{background:#FAFCFD}.source-metric-table td:first-child>b,.source-metric-table td:first-child>small{display:block}.source-cell{display:flex;flex-direction:column;gap:5px}.source-cell input,.source-cell select{font-size:8px;padding:6px}.rate-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.resource-source-block{border:1px solid var(--line);border-radius:12px;margin-top:12px;overflow:hidden}.resource-source-block .resource-matrix-title{padding:10px;background:#F7FAFB}.generate-panel{display:flex;align-items:center;justify-content:space-between}.generate-panel h2{margin:3px 0}.generate-panel p{margin:0;color:var(--muted);font-size:9px;max-width:800px}
.continue-panel{margin-top:18px}.continue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.continue-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#FBFDFE}.continue-top{display:flex;justify-content:space-between}.continue-top>div{display:flex;flex-direction:column}.continue-top b{font-size:10px}.continue-top small{font-size:8px}.continue-top strong{font-size:20px}.mini-progress{height:6px;background:#E5ECEF;border-radius:99px;overflow:hidden;margin:9px 0}.continue-card>small{font-size:8px}.continue-actions{margin-top:10px}.continue-actions .btn{width:100%}
.report-library-card{background:white;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow)}.report-library-card h2{margin:12px 0 4px;font-size:17px}.report-library-card p{font-size:9px;color:var(--muted)}.report-card-top{display:flex;justify-content:space-between}.report-card-meta{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:10px;font-size:8px;color:var(--muted)}
.stale-banner{margin:12px auto;max-width:1450px;padding:12px 14px;border-radius:10px;background:#FFF1D9;color:#885C12;display:flex;gap:8px;flex-direction:column}.stale-banner b{font-size:11px}.stale-banner span{font-size:9px}.finalize-form{align-items:center;gap:6px}.finalize-form .tiny{font-size:8px}.next-step-box{margin-top:12px;background:#EEF5F8;border-left:4px solid var(--accent);padding:9px 11px;border-radius:6px;font-size:.8em}.next-step-box b{display:block;font-size:.85em;text-transform:uppercase;margin-bottom:3px}.visual-narrative{display:block;padding-top:4px}.chart-box .local-chart{width:100%;height:100%}.chart-svg{width:100%;height:100%;overflow:visible}.grid-line{stroke:#DFE7EB;stroke-width:1}.axis-text,.legend-text{fill:#6D7F89;font-size:17px;font-family:Arial,sans-serif}.legend-text{font-size:16px}.empty-chart{fill:#7B8C95;font-size:24px}.zero-chart-note{fill:#6D7F89;font-size:20px;font-weight:700;font-family:Arial,sans-serif}.chart-box canvas{display:none}
.editor-page-settings,.bound-visual{margin-top:9px;border:1px solid var(--line);border-radius:8px;padding:7px}.editor-page-settings summary,.bound-visual summary{font-size:8px;font-weight:900;cursor:pointer}.editor-page-settings form,.bound-visual form{display:flex;flex-direction:column;gap:6px;margin-top:7px}.editor-page-settings input,.editor-page-settings select,.bound-visual select{font-size:8px;padding:6px}.dimmed{opacity:.45}.editor-hidden-element{opacity:.3}.element-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.element-actions form,.element-actions button{width:100%}.layer-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px}.layer-actions button{width:100%;border:1px solid var(--line);background:#F8FAFB;border-radius:6px;padding:6px;font-size:8px}.table-edit summary{cursor:pointer;font-weight:800;color:var(--accent)}.table-edit form{min-width:290px;margin-top:8px}.resource-settings-grid,.user-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.resource-settings-card,.user-admin-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:#FBFDFE}.resource-settings-card>summary,.user-admin-card>summary{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;cursor:pointer}.user-admin-card>summary{grid-template-columns:42px 1fr auto auto}.resource-settings-card>summary>span:nth-child(2),.user-admin-card>summary>span:nth-child(2){display:flex;flex-direction:column}.resource-settings-card form,.user-admin-card form{margin-top:12px}.inline-password{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:7px!important;border-top:1px solid var(--line);padding-top:10px}.inline-password .btn{align-self:end}
@media(max-width:1050px){.scope-choice,.continue-grid,.resource-settings-grid,.user-admin-grid{grid-template-columns:1fr}.four-col{grid-template-columns:1fr 1fr}}


/* v4 local icon fallback: no CDN/font dependency */
.bi{display:inline-flex;align-items:center;justify-content:center;font-style:normal;line-height:1}
.bi::before{content:"•"}
.bi-arrow-left::before{content:"←"}.bi-arrow-right::before{content:"→"}.bi-arrow-repeat::before{content:"↻"}.bi-arrow-counterclockwise::before{content:"↶"}
.bi-plus-lg::before,.bi-plus-circle::before,.bi-plus-circle-fill::before{content:"+"}.bi-check-lg::before,.bi-check-circle-fill::before{content:"✓"}
.bi-trash3::before{content:"×"}.bi-search::before{content:"⌕"}.bi-pencil-square::before{content:"✎"}.bi-copy::before{content:"⧉"}
.bi-eye::before{content:"◉"}.bi-lock-fill::before{content:"▣"}.bi-unlock::before{content:"□"}.bi-download::before{content:"⇩"}
.bi-bar-chart-fill::before,.bi-graph-up::before,.bi-activity::before{content:"▥"}.bi-table::before{content:"▦"}.bi-database::before{content:"◫"}
.bi-hdd-rack::before,.bi-hdd-rack-fill::before{content:"▤"}.bi-box::before,.bi-box-fill::before{content:"◇"}.bi-people-fill::before{content:"◎"}
.bi-info-circle::before{content:"i"}.bi-lightbulb-fill::before{content:"✦"}.bi-stars::before{content:"✧"}.bi-sliders::before{content:"≡"}
.bi-archive::before{content:"▱"}.bi-box-arrow-right::before{content:"⇥"}.bi-exclamation-octagon-fill::before{content:"!"}.bi-magnet-fill::before{content:"⌁"}
.bi-fonts::before{content:"T"}.bi-card-text::before{content:"≣"}.bi-square::before,.bi-bounding-box::before{content:"□"}.bi-file-earmark-bar-graph::before{content:"▧"}
.source-cell.state-missing,.source-cell.state-na{background:#f7f9fa}
.source-cell.state-missing input:disabled,.source-cell.state-na input:disabled{opacity:.42;background:#eef2f4}
.source-cell.state-na select{border-color:#a8bac4;background:#f0f5f7}

/* editor typography controls */
.prop-form input[type=number]{font-size:9px;padding:7px}


/* editor color controls */
.prop-form input[type=color]{width:100%;height:36px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}
.palette-editor{border-top:1px solid var(--line);margin-top:8px;padding-top:9px}
.property-subtitle{display:block;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.palette-grid label{display:flex;align-items:center;gap:4px;margin:0}
.palette-grid label small{width:12px;font-size:7px;color:var(--muted)}
.palette-grid input[type=color]{height:29px;padding:2px}
.property-help{display:block;margin-top:6px;font-size:7px;color:var(--muted)}
.report-element-content{border:1px solid transparent}

/* cloud-ready editor additions */
.continue-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.continue-actions form{margin:0}.continue-actions .draft-delete{width:auto;color:var(--critical);border-color:#efb7ba;background:#fff7f7}.continue-actions .draft-delete:hover{background:#fdecec}
.editor-section-title{display:flex;justify-content:space-between;align-items:center}.editor-section-title small{font-size:7px;color:var(--muted)}
.page-thumb-row{display:grid;grid-template-columns:17px 1fr;gap:3px;align-items:center;border-radius:8px}.page-thumb-row.dragging{opacity:.38;background:#dcebf2}.page-drag-handle{border:0;background:transparent;color:#8ca0aa;cursor:grab;padding:0;font-size:11px}.page-drag-handle:active{cursor:grabbing}.page-thumb-row .page-thumb{margin:0}
.page-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.page-actions-grid form{min-width:0}.page-actions-grid .sidebar-action{height:38px;padding:5px;font-size:8px}
.add-element-grid.four-tools{grid-template-columns:1fr 1fr}.tool-popover{position:relative;border:0;margin:0;padding:0}.tool-popover>summary{list-style:none;width:100%;height:58px;border:1px solid var(--line);background:#f9fbfc;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#5c7481;cursor:pointer}.tool-popover>summary::-webkit-details-marker{display:none}.tool-popover>summary i{font-size:16px}.tool-popover>summary span{font-size:8px}.tool-popover form{position:absolute;left:0;top:62px;width:210px;z-index:500;background:white;border:1px solid var(--line);border-radius:10px;padding:9px;box-shadow:0 14px 34px rgba(20,50,68,.18);display:flex;flex-direction:column;gap:6px}.tool-popover select{font-size:8px;padding:6px}
.layer-list .layer-lock{margin-left:auto;width:auto;color:#9a7728}.property-badges{display:flex;gap:4px;align-items:center}.three-actions{grid-template-columns:repeat(3,1fr)}
.editable-element.locked-element{cursor:default}.editable-element.locked-element:hover:after,.editable-element.locked-element.selected:after{border-style:dashed;border-color:#9b8d58}.editable-element.locked-element.selected:before{background:#9b8d58}.editable-element.locked-element .resize-handle{display:none!important}
.visual-icon{height:100%;width:100%;display:flex;align-items:center;justify-content:center;line-height:1}.type-icon{padding:0!important;display:flex;align-items:center;justify-content:center}.type-shape{padding:0!important;box-shadow:none!important;background:transparent!important;border:0!important;overflow:visible!important}.visual-shape{width:100%;height:100%;border-style:solid}.visual-shape.shape-line{height:0!important;min-height:0;border-width:0!important;border-top-style:solid!important;border-top-width:var(--shape-line-width,3px)!important;background:transparent!important;border-radius:0!important;position:absolute;top:50%;left:0}.visual-shape.shape-circle{aspect-ratio:1/1;height:100%;max-width:100%;margin:auto}
.visual-narrative.severity-critical{border-left:4px solid #c84e55;padding-left:12px}.visual-narrative.severity-watch{border-left:4px solid #c78a25;padding-left:12px}.visual-narrative.severity-healthy{border-left:4px solid #378a68;padding-left:12px}
.prop-form input[type=color],.editor-page-settings input[type=color]{width:100%;height:36px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.palette-editor{border-top:1px solid var(--line);margin-top:8px;padding-top:9px}.property-subtitle{display:block;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.palette-grid label{display:flex;align-items:center;gap:4px;margin:0}.palette-grid label small{width:12px;font-size:7px;color:var(--muted)}.palette-grid input[type=color]{height:29px;padding:2px}.property-help{display:block;margin-top:6px;font-size:7px;line-height:1.35;color:var(--muted)}
.bi-cloud::before{content:"☁"}.bi-globe2::before{content:"◎"}.bi-shield-check::before{content:"◆"}.bi-speedometer2::before{content:"◒"}.bi-wifi::before{content:"⌁"}
.tool-chip:disabled{opacity:.38;cursor:not-allowed}.page-thumb-row.dragging *{pointer-events:none}
@media(max-width:700px){.continue-actions{grid-template-columns:1fr}.continue-actions .draft-delete{width:100%}}

/* print/PDF: preserve slide size and colors */
@media print{
  @page{size:16in 9in;margin:0}
  html,body{background:white!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .no-print{display:none!important}.preview-stage{padding:0!important;background:white!important;overflow:visible!important}
  .report-page{width:16in!important;height:9in!important;margin:0!important;box-shadow:none!important;page-break-after:always;break-after:page}
  .report-page:last-child{page-break-after:auto;break-after:auto}
}

.metric-check.standard-metric{background:#F3F8FA;border-color:#BFD5DF}.metric-check.standard-metric em{font-style:normal;font-size:7px;color:var(--accent);background:var(--blue-bg);padding:2px 5px;border-radius:999px;margin-left:4px}.metric-check.standard-metric input[disabled]{opacity:.65}

/* master-data lifecycle */
.master-danger-zone{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px dashed #efb6b6;background:#fffafa;border-radius:12px;padding:10px 12px;margin:8px 0 16px}.master-danger-zone small{color:var(--muted);font-size:11px;line-height:1.4}.permanent-delete-link{color:#b42318!important}.delete-btn{color:#b42318;border-color:#efb6b6;background:#fffafa}.delete-btn:hover{background:#fdecec}
