:root {
  --ink: #122a27;
  --ink-2: #203f3a;
  --paper: #f4f2ec;
  --white: #fff;
  --line: #deddd7;
  --muted: #6e7775;
  --lime: #d7f05c;
  --amber: #f0b45a;
  --green: #5cae8b;
  --blue: #6e94d4;
  --danger: #c95c54;
  --shadow: 0 10px 32px rgba(23, 42, 39, .07);
}

.calendar-integration-grid{display:grid;gap:20px}.calendar-integration-card{padding:0;overflow:hidden}
.calendar-integration-card>header{display:flex;align-items:center;gap:14px;padding:22px 24px;border-bottom:1px solid var(--line,#dce3ec)}
.calendar-integration-card>header h2{font-size:19px;margin:0}.calendar-integration-card>header p{margin:4px 0 0;color:#66758a}
.calendar-provider-block{padding:20px 24px;border-bottom:1px solid var(--line,#dce3ec)}
.calendar-provider-block:last-child{border-bottom:0}.calendar-provider-block>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}
.calendar-provider-block>p{color:#66758a;margin:8px 0 16px}.calendar-provider-block dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.calendar-provider-block dl div{background:#f5f8fc;border-radius:10px;padding:10px 12px}.calendar-provider-block dt{font-size:11px;color:#718096;text-transform:uppercase}
.calendar-provider-block dd{margin:3px 0 0;font-weight:700;word-break:break-word}.integration-actions{display:flex!important;justify-content:flex-start!important;gap:10px;flex-wrap:wrap}
.integration-actions form{margin:0}.calendar-feed-url{display:block;margin:12px 0}.calendar-feed-url span{display:block;font-size:12px;font-weight:700;margin-bottom:5px}
.calendar-feed-url input{width:100%;padding:11px;border:1px solid #ccd6e2;border-radius:9px;background:#f7f9fc;color:#36465a}
.btn-primary-app.disabled{pointer-events:none;opacity:.5}
@media(max-width:720px){.calendar-provider-block dl{grid-template-columns:1fr}.calendar-integration-card>header,.calendar-provider-block{padding:18px}.operator-bottom-nav{grid-template-columns:repeat(4,1fr)}}

* { box-sizing: border-box; }
html { font-size: 16px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Manrope", sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.app-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 248px; padding: 28px 20px; background: var(--ink); color: #fff; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 32px; }
.brand-mark { width: 42px; height: 42px; border-radius: 13px; background: var(--lime); color: var(--ink); display: grid; place-items: center; font-size: 23px; font-weight: 800; }
.brand strong, .brand small { display: block; }
.brand strong { letter-spacing: .08em; font-size: 14px; }
.brand small { color: #a8b6b3; margin-top: 2px; font-size: 10px; }
.app-nav { display: grid; gap: 6px; }
.app-nav a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 13px; color: #b8c3c1; border-radius: 12px; font-size: 13px; font-weight: 600; }
.app-nav a:hover, .app-nav a.active { background: #23423d; color: #fff; }
.app-nav a.active { box-shadow: inset 3px 0 var(--lime); }
.nav-icon { width: 26px; text-align: center; font-size: 19px; }
.sidebar-note { margin-top: auto; padding: 15px; border: 1px solid #35534e; border-radius: 14px; display: flex; gap: 10px; align-items: flex-start; background: #193530; }
.sidebar-note strong, .sidebar-note small { display: block; }
.sidebar-note strong { font-size: 11px; }.sidebar-note small { color: #9eb0ad; font-size: 9px; margin-top: 3px; }
.status-dot { width: 8px; height: 8px; border-radius: 99px; background: var(--amber); margin-top: 4px; box-shadow: 0 0 0 4px rgba(240,180,90,.12); }
.app-shell { min-height: 100vh; margin-left: 248px; }
.topbar { height: 76px; padding: 0 38px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; background: rgba(244,242,236,.92); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 20; }
.topbar-context span, .topbar-context strong, .user-chip strong, .user-chip small { display: block; }
.topbar-context span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.topbar-context strong { font-size: 13px; margin-top: 2px; }
.user-chip { display: flex; align-items: center; gap: 10px; }
.user-chip > span { width: 35px; height: 35px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--lime); font-size: 11px; font-weight: 700; }
.user-chip strong { font-size: 11px; }.user-chip small { font-size: 9px; color: var(--muted); }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 22px; }
.page-content { max-width: 1460px; margin: 0 auto; padding: 42px 44px 60px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 31px; }
.page-heading.compact { align-items: center; }
.page-heading h1, .inspection-header h1 { margin: 4px 0 6px; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.045em; font-weight: 800; }
.page-heading p, .inspection-header p { color: var(--muted); margin: 0; font-size: 13px; }
.eyebrow { color: #64736f !important; font-size: 10px !important; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.btn-primary-app, .btn-secondary-app, .btn-dark-app, .btn-ghost { min-height: 44px; border-radius: 11px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0; font-size: 12px; font-weight: 700; cursor: pointer; }
.btn-primary-app { color: var(--ink); background: var(--lime); box-shadow: 0 6px 18px rgba(122, 147, 27, .16); }
.btn-primary-app:hover { background: #e4f77c; color: var(--ink); transform: translateY(-1px); }
.btn-secondary-app { color: var(--ink); background: #fff; border: 1px solid var(--line); }
.btn-dark-app { color: #fff; background: var(--ink); }
.btn-ghost { color: var(--ink); background: transparent; border: 1px solid var(--line); }
.btn-ghost:disabled { opacity: .35; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 22px; }
.metric-card { position: relative; min-height: 168px; padding: 21px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); box-shadow: var(--shadow); overflow: hidden; }
.metric-card::after { content: ""; position: absolute; inset: auto -20px -35px auto; width: 100px; height: 100px; border-radius: 50%; background: var(--card-color); opacity: .11; }
.metric-card.ink { --card-color: var(--ink); }.metric-card.amber { --card-color: var(--amber); }.metric-card.green { --card-color: var(--green); }.metric-card.blue { --card-color: var(--blue); }
.metric-icon { float: right; width: 34px; height: 34px; display: grid; place-items: center; background: color-mix(in srgb, var(--card-color) 14%, white); border-radius: 10px; font-weight: 800; }
.metric-card > span { display: block; color: var(--muted); font-size: 11px; font-weight: 600; }
.metric-card > strong { display: block; margin: 16px 0 4px; font-size: 36px; letter-spacing: -.06em; }
.metric-card > small { color: var(--muted); font-size: 9px; }
.content-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, .75fr); gap: 18px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow); }
.panel-header { padding: 21px 23px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ecebe6; }
.panel-header h2 { margin: 0; font-size: 15px; font-weight: 800; }.panel-header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.panel-header > a { color: #566965; font-size: 10px; font-weight: 700; }
.report-list { padding: 5px 12px 12px; }
.report-row { display: flex; align-items: center; gap: 13px; min-height: 70px; padding: 10px 12px; border-bottom: 1px solid #eeede8; }
.report-row:last-child { border-bottom: 0; }.report-row:hover { background: #fafaf7; border-radius: 11px; }
.report-badge { width: 47px; height: 43px; display: grid; place-items: center; background: #eff2eb; border-radius: 10px; font-size: 9px; font-weight: 800; }
.report-main { flex: 1; min-width: 0; }.report-main strong, .report-main small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.report-main strong { font-size: 11px; }.report-main small { color: var(--muted); margin-top: 5px; font-size: 9px; }
.row-arrow { color: #a2aaa7; font-size: 22px; }
.status-pill { display: inline-flex; align-items: center; border-radius: 99px; padding: 5px 9px; font-size: 8px; font-weight: 700; white-space: nowrap; }
.status-draft { background: #f1efe9; color: #5e6664; }.status-readyforsignature { background: #fff0cd; color: #866123; }
.status-techniciansigned { background: #e5edf8; color: #345a83; }.status-completed { background: #def2e9; color: #2d6e58; }
.quick-panel { padding-bottom: 18px; }.steps { list-style: none; padding: 18px 22px; margin: 0; display: grid; gap: 19px; }
.steps li { display: flex; gap: 12px; align-items: center; }.steps li > span { width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: var(--lime); display: grid; place-items: center; font-size: 10px; font-weight: 800; }
.steps strong, .steps small { display: block; }.steps strong { font-size: 11px; }.steps small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.quick-panel > a { width: calc(100% - 40px) !important; margin: 0 20px; }
.table-panel { overflow: hidden; }.table-tools { padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ecebe6; color: var(--muted); font-size: 10px; }
.search-box { width: min(420px, 70%); display: flex; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; background: #fafaf7; }
.search-box input { width: 100%; height: 38px; border: 0; outline: 0; background: transparent; font-size: 11px; }
.responsive-table { overflow-x: auto; } table { width: 100%; border-collapse: collapse; } th { padding: 12px 18px; background: #f7f6f2; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; text-align: left; }
td { padding: 16px 18px; border-bottom: 1px solid #eeede8; font-size: 10px; } td strong, td small { display: block; } td strong { font-size: 10px; } td small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.table-action { color: #36534e; font-weight: 800; }.narrow { max-width: 920px; }.form-panel { padding: 28px; }.form-grid { display: grid; gap: 18px; }.form-grid.two { grid-template-columns: repeat(2, 1fr); }
.span-2 { grid-column: span 2; }.field { display: grid; gap: 7px; }.field > span, .field > label { font-size: 10px; font-weight: 700; }
.field label em { color: var(--danger); font-style: normal; }.field label small { float: right; color: #98a09e; font-weight: 500; }
.field input, .field select, .field textarea { width: 100%; min-height: 45px; padding: 10px 13px; color: var(--ink); border: 1px solid #d8d9d4; border-radius: 10px; outline: none; background: #fff; font-size: 12px; }
.field textarea { min-height: 90px; resize: vertical; }.field input:focus, .field select:focus, .field textarea:focus { border-color: #76908a; box-shadow: 0 0 0 3px rgba(79,115,107,.1); }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 26px; padding-top: 20px; border-top: 1px solid #ecebe6; }.validation-summary { color: var(--danger); font-size: 11px; }
.inspection-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 20px; }.inspection-header h1 { font-size: 30px; }.back-link { display: inline-block; margin-bottom: 8px; color: var(--muted); font-size: 10px; font-weight: 700; }
.save-state { padding: 8px 11px; border-radius: 99px; background: #fff; border: 1px solid var(--line); font-size: 9px; font-weight: 700; }.save-state span { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--amber); }
.inspection-workspace { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 16px; align-items: start; }
.section-rail { position: sticky; top: 95px; border: 1px solid var(--line); border-radius: 15px; background: #fff; overflow: hidden; box-shadow: var(--shadow); }
.progress-block { padding: 18px; border-bottom: 1px solid #ecebe6; }.progress-block > span, .progress-block > strong { font-size: 9px; }.progress-block > strong { float: right; }
.progress-track { height: 5px; margin-top: 11px; background: #eceee8; border-radius: 99px; overflow: hidden; }.progress-track i { display: block; width: 0; height: 100%; background: var(--lime); transition: width .2s; }
.section-rail nav { padding: 8px; max-height: calc(100vh - 230px); overflow-y: auto; }.section-rail button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px; border: 0; background: transparent; border-radius: 9px; text-align: left; color: var(--muted); }
.section-rail button > span { flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #f0f0eb; font-size: 8px; font-weight: 800; }.section-rail button strong, .section-rail button small { display: block; }
.section-rail button strong { font-size: 8.5px; line-height: 1.35; }.section-rail button small { font-size: 7.5px; margin-top: 2px; }.section-rail button.active { background: var(--ink); color: #fff; }.section-rail button.active > span { background: var(--lime); color: var(--ink); }
.form-section { display: none; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }.form-section.active { display: block; }
.form-section > header { padding: 24px 28px 18px; border-bottom: 1px solid #ecebe6; }.form-section > header > span { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .1em; }.form-section > header h2 { margin: 5px 0; font-size: 22px; font-weight: 800; }.form-section > header p { margin: 0; color: var(--muted); font-size: 10px; }
.form-section > .form-grid { padding: 25px 28px; }.form-section > footer { display: flex; justify-content: space-between; padding: 17px 28px; background: #fafaf7; border-top: 1px solid #ecebe6; }
.choice-group { display: flex; gap: 7px; }.choice-button { flex: 1; cursor: pointer; }.choice-button input { position: absolute; opacity: 0; pointer-events: none; }.choice-button span { min-height: 48px; display: grid; place-items: center; border: 1px solid #d8d9d4; border-radius: 10px; background: #fff; font-size: 11px; font-weight: 800; }
.choice-button input:checked + span { color: var(--ink); border-color: var(--ink); background: var(--lime); box-shadow: inset 0 0 0 1px var(--ink); }.mobile-savebar { display: none; }
.inspection-checkbox { min-height:48px; padding:0 14px; display:flex; align-items:center; gap:10px; border:1px solid #d8d9d4; border-radius:10px; background:#fff; cursor:pointer; }
.inspection-checkbox input { width:20px !important; min-height:20px !important; accent-color:var(--ink); }.inspection-checkbox span { font-size:11px; font-weight:700; }
.ready-panel { margin: 16px 0 0 261px; padding: 18px 21px; border-radius: 14px; color: #fff; background: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ready-panel strong, .ready-panel span { display: block; }.ready-panel strong { font-size: 12px; }.ready-panel span { color: #aebbb8; margin-top: 4px; font-size: 9px; }.ready-panel .btn-dark-app { background: #fff; color: var(--ink); }
.detail-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; }.detail-grid > .panel { padding: 24px; }.document-hero { display: flex; gap: 16px; align-items: flex-start; }.document-icon { width: 66px; height: 82px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--ink); font-size: 13px; font-weight: 800; box-shadow: 7px 7px 0 var(--lime); }
.document-hero h2 { margin: 13px 0 5px; font-size: 18px; }.document-hero p { margin: 0; color: var(--muted); font-size: 10px; }.detail-list { margin: 28px 0 0; border-top: 1px solid #ecebe6; }
.detail-list > div { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid #ecebe6; }.detail-list dt { color: var(--muted); font-size: 9px; }.detail-list dd { margin: 0; font-size: 10px; font-weight: 700; text-align: right; }
.signature-panel .panel-header { margin: -24px -24px 18px; }.dev-warning { padding: 12px 14px; margin-bottom: 22px; border: 1px solid #f2d28e; background: #fff7e5; color: #765b25; border-radius: 10px; font-size: 9px; line-height: 1.5; }.dev-warning strong { display: block; }
.signature-step { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: center; }.step-marker { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #eceeea; color: #81908d; font-size: 11px; font-weight: 800; }
.signature-step.current .step-marker { background: var(--lime); color: var(--ink); }.signature-step.done .step-marker { background: var(--green); color: #fff; }.signature-step small, .signature-step strong, .signature-step p { display: block; }
.signature-step small { color: var(--muted); font-size: 8px; letter-spacing: .08em; }.signature-step strong { margin-top: 3px; font-size: 11px; }.signature-step p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }.signature-step .btn-primary-app { min-height: 36px; font-size: 9px; }
.signature-line { height: 25px; margin: 2px 0 2px 16px; border-left: 1px dashed #cbd0cc; }.audit-panel { margin-top: 18px; }.timeline { padding: 9px 23px 18px; }.timeline > div { position: relative; display: grid; grid-template-columns: 120px 130px 1fr; gap: 13px; padding: 12px 0 12px 18px; border-left: 1px solid #e1e3de; }
.timeline > div > span { position: absolute; left: -4px; top: 18px; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }.timeline time, .timeline strong, .timeline p { font-size: 9px; }.timeline time { color: var(--muted); }.timeline p { margin: 0; color: var(--muted); }
.template-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; align-items: start; }.template-list { padding: 10px 17px 17px; }.template-list article { display: flex; gap: 13px; align-items: center; padding: 14px 6px; border-bottom: 1px solid #ecebe6; }.template-list article > div { flex: 1; }.template-list strong, .template-list small { display: block; }.template-list strong { font-size: 11px; }.template-list small { color: var(--muted); margin-top: 3px; font-size: 8px; }.template-list p { display: flex; gap: 7px; margin: 8px 0 0; }.template-list p span { padding: 3px 7px; background: #f0f1ec; border-radius: 5px; font-size: 7px; }
.pdf-tile { width: 42px; height: 50px; border-radius: 6px 6px 10px 6px; display: grid; place-items: center; color: #fff; background: var(--ink); font-size: 9px; font-weight: 800; }.upload-panel form { display: grid; gap: 15px; padding: 20px; }
.file-drop { min-height: 145px; border: 1.5px dashed #b8c1bd; border-radius: 13px; background: #f8f8f4; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; }.file-drop input { position: absolute; opacity: 0; }.file-drop > span { font-size: 25px; }.file-drop strong { margin-top: 7px; font-size: 10px; }.file-drop small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.file-drop.has-file { border-style:solid; border-color:#72a38f; background:#edf7f1; }.file-drop.has-file > span { color:#39745e; }
.mapping-note { padding: 12px; background: #edf2ef; border-radius: 9px; }.mapping-note strong { font-size: 9px; }.mapping-note p { margin: 3px 0 0; color: #63736f; font-size: 8px; line-height: 1.5; }
.toast-message { margin-bottom: 18px; padding: 13px 16px; border-radius: 10px; font-size: 10px; font-weight: 700; }.toast-message.success { color: #2d6e58; background: #def2e9; }.toast-message.error { color: #873c37; background: #fae3e1; }

@media (max-width: 1050px) {
  .app-sidebar { width: 214px; }.app-shell { margin-left: 214px; }.page-content { padding: 32px 27px 50px; }.metric-grid { grid-template-columns: repeat(2, 1fr); }
  .content-grid, .template-grid, .detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .app-sidebar { transform: translateX(-100%); transition: transform .2s; width: 250px; }.app-sidebar.open { transform: translateX(0); box-shadow: 0 0 0 999px rgba(10,25,22,.45); }
  .app-shell { margin-left: 0; }.topbar { height: 64px; padding: 0 16px; }.menu-toggle { display: block; }.topbar-context { display: none; }.page-content { padding: 24px 15px 90px; }
  .page-heading { align-items: stretch; flex-direction: column; }.page-heading .btn-primary-app { width: 100%; }.metric-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .metric-card { min-height: 145px; padding: 16px; }.metric-card > strong { font-size: 30px; }.content-grid { grid-template-columns: 1fr; }.report-row .status-pill { display: none; }
  .form-grid.two { grid-template-columns: 1fr; }.span-2 { grid-column: auto; }.inspection-workspace { grid-template-columns: 1fr; }.section-rail { position: static; }.section-rail nav { display: flex; overflow-x: auto; }.section-rail button { min-width: 155px; }
  .form-section > .form-grid, .form-section > header, .form-section > footer { padding-left: 18px; padding-right: 18px; }.ready-panel { margin-left: 0; flex-direction: column; align-items: stretch; }.mobile-savebar { display: block; position: fixed; z-index: 15; inset: auto 0 0; padding: 10px 15px calc(10px + env(safe-area-inset-bottom)); background: rgba(244,242,236,.95); border-top: 1px solid var(--line); }.mobile-savebar button { width: 100%; }
  .signature-step { grid-template-columns: 38px minmax(0,1fr); }.signature-step form { grid-column: 2; }.timeline > div { grid-template-columns: 1fr; gap: 3px; }.responsive-table table { min-width: 740px; }
}
@media (max-width: 460px) { .metric-grid { grid-template-columns: 1fr; }.user-chip div { display: none; }.choice-group { gap: 4px; }.choice-button span { min-height: 52px; } }

.designer-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.designer-heading h1 { margin:2px 0 5px; font-size:28px; font-weight:800; letter-spacing:-.04em; }
.designer-heading p { margin:0; color:var(--muted); font-size:10px; }
.designer-actions { display:flex; align-items:center; gap:10px; }
.revision-lock { margin-bottom:16px; padding:15px 18px; border:1px solid #efd38f; border-radius:13px; background:#fff6df; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.revision-lock strong,.revision-lock span { display:block; }.revision-lock strong { color:#70521e; font-size:11px; }.revision-lock span { margin-top:4px; color:#8c743f; font-size:9px; }
.revision-lock form { display:flex; gap:8px; }.revision-lock input { min-height:43px; padding:0 12px; border:1px solid #dbc283; border-radius:10px; background:#fff; font-size:11px; }
.designer-shell { display:grid; grid-template-columns:210px minmax(500px,1fr) 290px; min-height:760px; border:1px solid var(--line); border-radius:16px; background:#e8e8e3; box-shadow:var(--shadow); overflow:hidden; }
.designer-left,.designer-inspector { background:#fff; }.designer-left { border-right:1px solid var(--line); display:flex; flex-direction:column; }
.designer-toolbar { min-height:58px; padding:10px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.designer-toolbar button { width:34px; height:34px; border:1px solid var(--line); border-radius:9px; background:#fff; }.designer-toolbar strong { font-size:10px; }
.field-catalog { flex:1; min-height:0; padding:16px 10px; }.field-catalog > div:first-child { padding:0 6px 10px; }.field-catalog strong,.field-catalog small { display:block; }
.field-catalog strong { font-size:10px; }.field-catalog small { color:var(--muted); margin-top:2px; font-size:8px; }
[data-field-list] { max-height:610px; overflow:auto; display:grid; gap:4px; } [data-field-list] button { padding:9px; border:0; border-radius:8px; background:transparent; text-align:left; }
[data-field-list] button:hover,[data-field-list] button.active { background:#eef2e8; } [data-field-list] button span,[data-field-list] button small { display:block; }
[data-field-list] button span { color:var(--ink); font-size:9px; font-weight:700; } [data-field-list] button small { margin-top:2px; color:var(--muted); font-size:7px; }
.no-fields { padding:16px 6px; color:var(--muted); font-size:9px; }.add-field-button { margin:10px; }
.designer-canvas-area { min-width:0; padding:15px; overflow:auto; background:#deded8; }.designer-help { display:none; margin:0 auto 10px; padding:9px 12px; max-width:850px; border-radius:9px; background:#fff; color:var(--muted); font-size:8px; }
.designer-help span { margin-right:7px; color:var(--ink); font-weight:800; }.pdf-stage { position:relative; margin:0 auto; background:#fff; box-shadow:0 6px 24px rgba(20,35,32,.16); }
.pdf-stage canvas { display:block; }.field-overlay { position:absolute; inset:0; }.designer-field { position:absolute; padding:0; border:1.5px solid #329b83; background:rgba(92,174,139,.18); color:#175e4e; text-align:left; cursor:move; overflow:visible; }
.designer-field span { display:block; padding:2px 4px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:7px; font-weight:800; pointer-events:none; }
.designer-field.selected { z-index:2; border-color:#122a27; background:rgba(215,240,92,.35); box-shadow:0 0 0 2px rgba(18,42,39,.18); }
.designer-field,.resize-handle { touch-action:none; }.designer-dragging { user-select:none; cursor:grabbing !important; }
.resize-handle { position:absolute; width:10px; height:10px; border:1px solid #fff; border-radius:50%; background:var(--ink); }
.resize-handle.nw { left:-5px; top:-5px; cursor:nwse-resize; }.resize-handle.ne { right:-5px; top:-5px; cursor:nesw-resize; }
.resize-handle.sw { left:-5px; bottom:-5px; cursor:nesw-resize; }.resize-handle.se { right:-5px; bottom:-5px; cursor:nwse-resize; }
.canvas-toolbar { position:sticky; top:0; z-index:5; max-width:850px; min-height:54px; margin:0 auto 10px; padding:8px 10px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.96); box-shadow:0 5px 18px rgba(20,35,32,.08); }
.toolbar-group { display:flex; align-items:center; gap:4px; }.toolbar-group button { min-width:34px; height:34px; padding:0 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font-size:13px; font-weight:800; }
.toolbar-group .zoom-label { min-width:95px; font-size:8px; }.toolbar-hint { flex:1; color:var(--muted); font-size:8px; line-height:1.4; }.toolbar-add-field { min-height:36px; white-space:nowrap; }
.designer-inspector { border-left:1px solid var(--line); }.designer-inspector form { display:grid; gap:12px; padding:17px; max-height:760px; overflow:auto; }
.inspector-empty { padding:70px 28px; text-align:center; color:var(--muted); }.inspector-empty > span { display:block; margin-bottom:14px; font-size:30px; }.inspector-empty strong { color:var(--ink); font-size:11px; }.inspector-empty p { font-size:9px; line-height:1.6; }
.inspector-title { display:flex; align-items:center; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid var(--line); }.inspector-title span,.inspector-title strong { display:block; }
.inspector-title div span { color:var(--muted); font-size:7px; letter-spacing:.1em; }.inspector-title strong { margin-top:3px; font-size:12px; }.inspector-title > span { color:#4e7d70; font-size:8px; }
.coordinate-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.coordinate-grid label { display:grid; gap:4px; }.coordinate-grid span { color:var(--muted); font-size:8px; }
.coordinate-grid input { width:100%; min-height:38px; padding:7px; border:1px solid var(--line); border-radius:8px; font-size:10px; }
.check-row { display:flex; align-items:center; gap:8px; font-size:9px; font-weight:700; }.check-row input { width:16px; height:16px; accent-color:var(--ink); }
.inspector-actions { display:flex; justify-content:space-between; gap:8px; padding-top:10px; border-top:1px solid var(--line); }.btn-danger-ghost { min-height:42px; padding:0 11px; border:1px solid #e4b5b1; border-radius:10px; background:#fff; color:#a44640; font-size:9px; font-weight:700; }
.template-info-panel { margin-top:18px; }.template-info-panel form { max-width:760px; padding:20px; display:grid; gap:17px; }

@media (max-width:1200px) { .designer-shell { grid-template-columns:180px minmax(480px,1fr) 260px; } }
@media (max-width:900px) {
  .designer-shell { display:block; }.designer-left { border:0; }.field-catalog { display:none; }.designer-toolbar { justify-content:center; gap:18px; }
  .designer-canvas-area { max-height:70vh; }.canvas-toolbar { flex-wrap:wrap; }.toolbar-hint { order:3; flex-basis:100%; }.designer-inspector { border:0; border-top:1px solid var(--line); }.designer-inspector form { max-height:none; }
  .designer-heading,.revision-lock { align-items:stretch; flex-direction:column; }.revision-lock form { width:100%; }.revision-lock input { flex:1; }
}

/* Corporate operations theme */
:root {
  --ink:#202938;
  --ink-2:#2c3749;
  --paper:#f3f6fa;
  --line:#dfe5ee;
  --muted:#6b7483;
  --lime:#2563eb;
  --blue:#3b82f6;
  --green:#16a177;
  --amber:#e5a52b;
  --danger:#d84b4b;
  --shadow:0 10px 30px rgba(26,39,60,.055);
}
body { background:var(--paper); }
.app-sidebar { width:280px; padding:24px 16px 18px; overflow-y:auto; background:linear-gradient(180deg,#202938 0%,#18202d 100%); }
.brand { padding:0 10px 24px; border-bottom:1px solid rgba(255,255,255,.08); }
.brand-mark { width:44px; height:44px; border-radius:11px; color:#fff; background:linear-gradient(145deg,#3b82f6,#1d4ed8); box-shadow:0 8px 20px rgba(37,99,235,.25); }
.brand strong { font-size:13px; }.brand small { color:#8f9aab; }
.app-nav { gap:18px; padding:20px 0; }
.nav-section { display:grid; gap:4px; }
.nav-section-title { padding:0 13px 7px; color:#657187; font-size:8px; font-weight:800; letter-spacing:.15em; }
.app-nav a { min-height:40px; padding:8px 11px; border-radius:9px; color:#aeb7c6; }
.app-nav a:hover { background:rgba(255,255,255,.055); color:#fff; }
.app-nav a.active { background:linear-gradient(90deg,rgba(37,99,235,.28),rgba(37,99,235,.10)); color:#fff; box-shadow:inset 3px 0 #3b82f6; }
.nav-icon { width:28px; height:23px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:6px; color:#7f8a9d; font-size:8px; font-weight:800; }
.app-nav a.active .nav-icon { border-color:rgba(96,165,250,.5); color:#93c5fd; background:rgba(37,99,235,.18); }
.sidebar-note { padding:13px; border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.035); }
.sidebar-note small { color:#8490a2; }.status-dot { background:#38c793; box-shadow:0 0 0 4px rgba(56,199,147,.12); }
.app-shell { margin-left:280px; }
.topbar { height:72px; padding:0 36px; background:rgba(248,250,253,.94); border-color:#e2e7ef; }
.global-search { width:min(390px,34vw); height:39px; display:flex; align-items:center; gap:9px; padding:0 13px; border:1px solid #dce3ec; border-radius:9px; color:#8a94a3; background:#fff; }
.global-search input { width:100%; border:0; outline:0; background:transparent; font-size:10px; }
.topbar-actions { display:flex; align-items:center; gap:16px; }
.notification-button { position:relative; width:34px; height:34px; display:inline-grid; place-items:center; border:1px solid #dce3ec; border-radius:9px; color:#fff; background:var(--ink); font-size:9px; font-weight:800; }
.user-chip > span { color:#fff; background:#2563eb; }
.page-content { max-width:1540px; padding:36px 40px 60px; }
.eyebrow { color:#2563eb !important; }
.btn-primary-app { color:#fff; background:linear-gradient(135deg,#3478e5,#1d5fd1); box-shadow:0 7px 18px rgba(37,99,235,.2); }
.btn-primary-app:hover { color:#fff; background:#1d4ed8; }
.btn-secondary-app { color:#344054; border-color:#d9e0ea; }
.panel,.metric-card { border-radius:14px; border-color:#e0e6ee; }
.panel-header { border-color:#e6ebf2; }.panel-header > a { color:#2563eb; }
.metric-card { min-height:148px; box-shadow:none; }
.metric-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--card-color); }
.metric-card > strong { margin-top:12px; }.metric-icon { color:var(--card-color); font-size:9px; }
.report-badge { color:#2563eb; background:#edf4ff; }
.status-readyforsignature { color:#97640c; background:#fff2d8; }
.status-techniciansigned { color:#245ba7; background:#e8f1ff; }
.status-completed { color:#147356; background:#e3f7ef; }
.table-tools,.panel-header,td { border-color:#e7ebf1; }
th { background:#f7f9fc; }.search-box { background:#f9fbfd; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.12); }
.progress-track i { background:#2563eb; }
.section-rail button.active { background:#253044; }.section-rail button.active > span { color:#fff; background:#2563eb; }
.choice-button input:checked + span { color:#fff; border-color:#1d4ed8; background:#2563eb; box-shadow:none; }
.document-icon { box-shadow:7px 7px 0 #3b82f6; }
.signature-step.current .step-marker { color:#fff; background:#2563eb; }
.designer-shell { background:#e8edf4; }.designer-canvas-area { background:#dfe5ed; }
.designer-field { border-color:#3b82f6; color:#174c9c; background:rgba(59,130,246,.16); }
.designer-field.selected { border-color:#1e293b; background:rgba(37,99,235,.23); box-shadow:0 0 0 2px rgba(37,99,235,.17); }
[data-field-list] button:hover,[data-field-list] button.active { background:#edf4ff; }

.heading-actions { display:flex; gap:9px; }
.operation-hero { min-height:150px; margin-bottom:18px; padding:27px 30px; display:grid; grid-template-columns:1.4fr .8fr auto; gap:34px; align-items:center; border-radius:16px; color:#fff; background:linear-gradient(125deg,#202938 0%,#263750 58%,#1f5eb8 140%); box-shadow:0 14px 35px rgba(24,35,52,.13); }
.hero-kicker { color:#84b6ff; font-size:8px; font-weight:800; letter-spacing:.14em; }
.operation-hero h2 { margin:8px 0 5px; font-size:24px; }.operation-hero p { max-width:540px; margin:0; color:#aebbcf; font-size:10px; }
.operation-hero > a { padding-left:25px; border-left:1px solid rgba(255,255,255,.14); color:#fff; font-size:10px; font-weight:800; }.operation-hero > a span { margin-left:12px; color:#7cb1ff; }
.hero-progress > div:first-child { display:flex; align-items:baseline; gap:8px; }.hero-progress strong { font-size:23px; }.hero-progress span,.hero-progress small { color:#afbdd1; font-size:8px; }
.hero-progress-track { height:5px; margin:10px 0 7px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.12); }.hero-progress-track i { display:block; width:67%; height:100%; background:#4b98ff; }
.dashboard-metrics { margin-bottom:18px; }.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr); gap:18px; }
.empty-state { padding:42px 20px; text-align:center; }.empty-state > span { width:42px; height:42px; margin:0 auto 12px; display:grid; place-items:center; border-radius:11px; color:#2563eb; background:#edf4ff; font-weight:800; }.empty-state strong,.empty-state p { display:block; }.empty-state strong { font-size:11px; }.empty-state p { margin:5px 0 0; color:var(--muted); font-size:9px; }
.compact-agenda { padding:4px 19px 14px; }.compact-agenda article { min-height:74px; display:grid; grid-template-columns:40px 7px 1fr; gap:11px; align-items:center; border-bottom:1px solid #e8edf3; }
.compact-agenda article:last-child { border:0; }.compact-agenda time { color:#465367; font-size:9px; font-weight:800; }.compact-agenda i { width:7px; height:32px; border-radius:99px; }.compact-agenda i.blue { background:#3b82f6; }.compact-agenda i.amber { background:#e5a52b; }.compact-agenda i.green { background:#16a177; }.compact-agenda strong,.compact-agenda small { display:block; }.compact-agenda strong { font-size:10px; }.compact-agenda small { margin-top:4px; color:var(--muted); font-size:8px; }
.dashboard-lower { margin-top:18px; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr); gap:18px; }
.action-cards { padding:15px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.action-cards > a { min-height:102px; padding:15px; display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:start; border:1px solid #e3e8ef; border-radius:11px; }.action-cards > a:hover { border-color:#b8cef0; background:#f8fbff; }.action-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:8px; font-size:9px; font-weight:800; }.action-icon.blue { color:#2563eb; background:#eaf2ff; }.action-icon.amber { color:#a66d09; background:#fff2d5; }.action-icon.green { color:#137456; background:#e4f7ef; }.action-cards strong,.action-cards small { display:block; }.action-cards strong { font-size:9px; }.action-cards small { margin-top:5px; color:var(--muted); font-size:7.5px; line-height:1.45; }.action-cards b { color:#8b96a6; font-size:12px; }
.signature-queue { padding-bottom:17px; }.signature-summary { padding:18px 20px 10px; display:flex; align-items:baseline; gap:8px; }.signature-summary strong { font-size:29px; }.signature-summary span { color:var(--muted); font-size:9px; }.signature-flow { position:relative; padding:8px 24px 15px; display:grid; grid-template-columns:26px 1fr 26px; align-items:center; }.signature-flow > span { z-index:1; width:26px; height:26px; display:grid; place-items:center; border:2px solid #dce3ed; border-radius:50%; color:#8792a2; background:#fff; font-size:8px; font-weight:800; }.signature-flow > span.done { color:#fff; border-color:#2563eb; background:#2563eb; }.signature-flow > i { height:2px; background:#dce3ed; }.signature-flow > div { grid-column:1 / -1; margin-top:7px; display:flex; justify-content:space-between; }.signature-flow small { color:var(--muted); font-size:7px; }.signature-queue > a { width:calc(100% - 40px); margin:0 20px; }

.module-metrics { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.module-metric { position:relative; min-height:113px; padding:17px 18px; overflow:hidden; border:1px solid #e0e6ee; border-radius:13px; background:#fff; }.module-metric::after { content:""; position:absolute; right:-22px; bottom:-28px; width:78px; height:78px; border-radius:50%; background:var(--tone); opacity:.08; }.module-metric span,.module-metric strong,.module-metric small { display:block; }.module-metric span { color:var(--muted); font-size:9px; font-weight:700; }.module-metric strong { margin:10px 0 3px; color:var(--tone); font-size:25px; }.module-metric small { color:#8a94a2; font-size:8px; }.tone-blue { --tone:#2563eb; }.tone-green { --tone:#169873; }.tone-amber { --tone:#d69018; }.tone-red { --tone:#cf4747; }.tone-ink { --tone:#263246; }
.module-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:18px; align-items:start; }.table-header-actions { display:flex; gap:6px; }.table-header-actions button,.view-switch { min-height:31px; padding:0 10px; border:1px solid #dce3ec; border-radius:7px; color:#536074; background:#fff; font-size:8px; font-weight:700; }.module-table-panel table { min-width:860px; }.module-status { display:inline-flex; padding:5px 8px; border-radius:99px; color:var(--tone); background:color-mix(in srgb,var(--tone) 11%,white); font-size:7.5px; font-weight:800; white-space:nowrap; }.row-menu { border:0; color:#7c8797; background:transparent; }.module-insights { overflow:hidden; }.insight-row { padding:16px 18px; border-bottom:1px solid #e7ebf1; }.insight-row:last-child { border:0; }.insight-row span,.insight-row strong,.insight-row small { display:block; }.insight-row span { color:var(--muted); font-size:8px; }.insight-row strong { margin:6px 0 3px; font-size:16px; }.insight-row small { color:#8a94a3; font-size:7.5px; line-height:1.5; }
.calendar-layout { display:grid; grid-template-columns:340px minmax(0,1fr); gap:18px; align-items:start; }.mini-calendar { padding:20px; }.calendar-month { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }.calendar-month strong { font-size:12px; }.calendar-month button { border:0; color:#687487; background:transparent; font-size:18px; }.calendar-week,.calendar-days { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; }.calendar-week span { padding-bottom:10px; color:#8993a1; font-size:8px; font-weight:700; }.calendar-days button,.calendar-days > span { position:relative; height:39px; display:grid; place-items:center; border:0; border-radius:9px; color:#364256; background:transparent; font-size:9px; }.calendar-days .muted { color:#bdc4ce; }.calendar-days button.selected { color:#fff; background:#2563eb; box-shadow:0 5px 12px rgba(37,99,235,.2); }.calendar-days button.has-task::after { content:""; position:absolute; bottom:4px; width:3px; height:3px; border-radius:50%; background:#3b82f6; }.calendar-legend { margin-top:17px; padding-top:15px; display:flex; gap:14px; border-top:1px solid #e8edf3; }.calendar-legend span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:7.5px; }.calendar-legend i { width:6px; height:6px; border-radius:50%; }.calendar-legend .blue { background:#3b82f6; }.calendar-legend .amber { background:#e5a52b; }.agenda-list { padding:0 18px 12px; }.agenda-list article { min-height:90px; display:grid; grid-template-columns:45px 4px 1fr auto; gap:14px; align-items:center; border-bottom:1px solid #e7ebf1; }.agenda-list article:last-child { border:0; }.agenda-list time { font-size:9px; font-weight:800; }.agenda-line { width:4px; height:43px; border-radius:99px; background:var(--tone); }.agenda-list strong,.agenda-list small,.agenda-list p { display:block; }.agenda-list strong { font-size:10px; }.agenda-list small,.agenda-list p { color:var(--muted); font-size:8px; }.agenda-list small { margin-top:4px; }.agenda-list p { margin:3px 0 0; }

@media (max-width:1200px) {
  .app-sidebar { width:246px; }.app-shell { margin-left:246px; }.module-layout { grid-template-columns:1fr; }.module-insights { display:grid; grid-template-columns:repeat(3,1fr); }.module-insights .panel-header { grid-column:1/-1; }
  .operation-hero { grid-template-columns:1fr .7fr; }.operation-hero > a { grid-column:1/-1; padding:12px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.12); }
}
@media (max-width:900px) {
  .global-search { display:none; }.dashboard-grid,.dashboard-lower,.calendar-layout { grid-template-columns:1fr; }.action-cards { grid-template-columns:1fr; }.module-metrics { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .app-sidebar { width:270px; }.app-shell { margin-left:0; }.page-content { padding:24px 15px 88px; }.heading-actions { width:100%; }.heading-actions > * { flex:1; }.operation-hero { grid-template-columns:1fr; gap:20px; padding:24px; }.operation-hero > a { grid-column:auto; }.module-insights { grid-template-columns:1fr; }.module-insights .panel-header { grid-column:auto; }.calendar-layout { grid-template-columns:1fr; }.agenda-list article { grid-template-columns:38px 4px 1fr; }.agenda-list .module-status { grid-column:3; width:max-content; }.module-heading { align-items:stretch; }
}
@media (max-width:500px) {
  .module-metrics { grid-template-columns:1fr 1fr; }.module-metric { min-height:105px; padding:14px; }.topbar-actions .notification-button { display:none; }.action-cards { padding:10px; }
}
.record-count { color:var(--muted); font-size:9px; font-weight:700; }
.search-result-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:16px; }.search-result-list { padding:7px 17px 14px; }.search-result-list a { padding:13px 6px;display:block;border-bottom:1px solid #e7ebf1; }.search-result-list a:last-child { border:0; }.search-result-list strong,.search-result-list small { display:block; }.search-result-list strong { font-size:10px; }.search-result-list small { margin-top:4px;color:var(--muted);font-size:8px; }
@media(max-width:760px){.search-result-grid{grid-template-columns:1fr}}
.table-empty { padding:42px 15px; text-align:center; }.table-empty strong,.table-empty span { display:block; }.table-empty strong { font-size:11px; }.table-empty span { margin-top:5px; color:var(--muted); font-size:9px; }
.row-actions { display:flex; align-items:center; gap:9px; }.row-actions a,.row-actions button { border:0; color:#2563eb; background:transparent; font-size:8px; font-weight:800; }.row-actions form { margin:0; }.row-actions button { color:#c44848; }
.operation-form .validation-summary { margin-bottom:18px; padding:12px 14px; border-radius:9px; color:#a13333; background:#fdeaea; }
.real-calendar { overflow:hidden; }.real-calendar > header { height:62px; padding:0 22px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #e4e9f0; }.real-calendar > header strong { text-transform:capitalize; font-size:14px; }.real-calendar > header a { width:32px; height:32px; display:grid; place-items:center; border:1px solid #dce3ec; border-radius:8px; }
.real-calendar-week,.real-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }.real-calendar-week span { padding:11px; color:var(--muted); background:#f8fafc; border-bottom:1px solid #e4e9f0; text-align:center; font-size:8px; font-weight:800; }
.calendar-cell,.real-calendar-grid .outside { min-height:128px; padding:9px; border-right:1px solid #e7ebf1; border-bottom:1px solid #e7ebf1; }.real-calendar-grid .outside { background:#f9fafc; }.calendar-cell:nth-child(7n) { border-right:0; }.calendar-cell.today { background:#f4f8ff; box-shadow:inset 0 0 0 1px #8db6f5; }.day-number { width:24px; height:24px; display:grid; place-items:center; margin-bottom:6px; border-radius:7px; font-size:8px; font-weight:800; }.today .day-number { color:#fff; background:#2563eb; }
.calendar-task { display:block; margin-bottom:4px; padding:5px 6px; overflow:hidden; border-left:3px solid #3b82f6; border-radius:4px; color:#30435f; background:#edf4ff; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }.calendar-task time { font-weight:800; }.calendar-task.priority-high,.calendar-task.priority-critical { border-color:#d84b4b; background:#fff0f0; }.calendar-cell > small { color:var(--muted); font-size:7px; }
@media(max-width:760px){.real-calendar { overflow-x:auto; }.real-calendar-week,.real-calendar-grid { min-width:800px; }.calendar-cell,.real-calendar-grid .outside { min-height:105px; }}
.logout-form button { min-height:32px; padding:0 10px; border:1px solid #dce3ec; border-radius:8px; color:#687487; background:#fff; font-size:8px; font-weight:800; }
.login-body { min-height:100vh; display:grid; place-items:center; padding:30px; color:#202938; background:#eaf0f8; }
.login-shell { width:min(1050px,100%); min-height:650px; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 30px 80px rgba(31,45,68,.17); }
.login-brand { padding:48px; display:flex; flex-direction:column; color:#fff; background:linear-gradient(145deg,#202938,#24364f 62%,#1d5fb9); }.login-logo { width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#2870df;font-size:24px;font-weight:800; }.login-brand > span { margin-top:11px;font-size:11px;font-weight:800;letter-spacing:.12em; }.login-brand > div:nth-child(3) { margin:auto 0; }.login-brand h1 { margin:10px 0 16px;font-size:40px;letter-spacing:-.05em; }.login-brand p:not(.eyebrow) { max-width:430px;color:#b7c4d7;font-size:12px;line-height:1.8; }.login-brand small { color:#9cadc3;font-size:9px; }
.login-card { padding:62px 55px;display:flex;flex-direction:column;justify-content:center; }.login-card h2 { margin:7px 0;font-size:25px; }.login-card > div > p:not(.eyebrow) { color:var(--muted);font-size:10px; }.login-card form { margin-top:27px;display:grid;gap:16px; }.login-card .btn-primary-app { width:100%; }.remember-row { display:flex;align-items:center;gap:8px;color:#637087;font-size:9px; }.remember-row input { width:16px;height:16px;accent-color:#2563eb; }.demo-accounts { margin-top:24px;padding:14px;border-radius:10px;background:#f1f5fb; }.demo-accounts strong,.demo-accounts span { display:block; }.demo-accounts strong { margin-bottom:7px;font-size:9px; }.demo-accounts span { color:#667388;font-size:8px;line-height:1.8; }
.operator-body { min-height:100vh;padding-bottom:90px;background:#f3f6fa; }.operator-topbar { height:76px;padding:0 max(22px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;color:#fff;background:#202938;position:sticky;top:0;z-index:30; }.operator-topbar > a { display:flex;align-items:center;gap:10px; }.operator-topbar > a span { width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#2563eb;font-weight:800; }.operator-topbar > a strong { font-size:11px;letter-spacing:.1em; }.operator-topbar > div { text-align:right; }.operator-topbar > div strong,.operator-topbar > div small { display:block; }.operator-topbar > div strong { font-size:10px; }.operator-topbar > div small { color:#96a5bb;font-size:7px; }.operator-topbar form button { border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#b9c4d4;background:transparent;padding:8px 10px;font-size:8px; }
.operator-content { max-width:1100px;margin:0 auto;padding:34px 28px 60px; }.operator-welcome { display:flex;justify-content:space-between;align-items:center; }.operator-welcome p { margin:0 0 7px;color:#2563eb;font-size:9px;font-weight:800;text-transform:uppercase; }.operator-welcome h1 { margin:0;font-size:30px;letter-spacing:-.04em; }.operator-welcome span { display:block;margin-top:6px;color:var(--muted);font-size:10px; }.operator-avatar { width:55px;height:55px;display:grid;place-items:center;border-radius:16px;color:#fff;background:#2563eb;font-size:13px;font-weight:800; }
.operator-stats { margin:24px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }.operator-stats article { padding:18px;border:1px solid #e0e6ee;border-radius:14px;background:#fff; }.operator-stats strong,.operator-stats span { display:block; }.operator-stats strong { color:#2563eb;font-size:26px; }.operator-stats span { margin-top:3px;color:var(--muted);font-size:8px; }
.operator-section { margin-top:30px; }.operator-section > header { margin-bottom:13px;display:flex;justify-content:space-between; }.operator-section h2 { margin:3px 0 0;font-size:18px; }.tablet-task-list { display:grid;gap:13px; }.tablet-task-card { padding:18px;display:grid;grid-template-columns:60px 1fr auto;gap:17px;align-items:center;border:1px solid #dfe6ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(30,46,70,.05); }.task-time { padding-right:15px;border-right:1px solid #e4e9f0;text-align:center; }.task-time strong,.task-time span { display:block; }.task-time strong { font-size:17px; }.task-time span { margin-top:4px;color:var(--muted);font-size:8px; }.task-body h3 { margin:6px 0 3px;font-size:14px; }.task-body p,.task-body small { display:block;margin:0;color:var(--muted);font-size:9px; }.task-body small { margin-top:4px; }.task-priority { display:inline-flex;padding:3px 6px;border-radius:5px;color:#1d5fb9;background:#e9f2ff;font-size:7px;font-weight:800;text-transform:uppercase; }.task-priority.priority-high,.task-priority.priority-critical { color:#ae3535;background:#fde9e9; }.task-start-button { min-height:50px;padding:0 18px;display:flex;align-items:center;gap:14px;border-radius:12px;color:#fff;background:#2563eb;font-size:10px;font-weight:800; }
.operator-empty { padding:34px;border:1px dashed #cfd8e5;border-radius:15px;text-align:center;background:#fff; }.operator-empty strong,.operator-empty span { display:block; }.operator-empty strong { font-size:11px; }.operator-empty span { margin-top:5px;color:var(--muted);font-size:9px; }.operator-draft-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:11px; }.operator-draft-grid a { min-height:78px;padding:14px;display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;border:1px solid #dfe6ef;border-radius:13px;background:#fff; }.operator-draft-grid a > span { width:40px;height:40px;display:grid;place-items:center;border-radius:9px;color:#2563eb;background:#eaf2ff;font-size:8px;font-weight:800; }.operator-draft-grid strong,.operator-draft-grid small { display:block; }.operator-draft-grid strong { font-size:10px; }.operator-draft-grid small { margin-top:4px;color:var(--muted);font-size:8px; }.operator-draft-grid b { color:#2563eb;font-size:8px; }.upcoming-strip { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }.upcoming-strip article { padding:15px;border-radius:12px;background:#fff;border:1px solid #e0e6ee; }.upcoming-strip time,.upcoming-strip strong,.upcoming-strip span { display:block; }.upcoming-strip time { color:#2563eb;font-size:8px;font-weight:800; }.upcoming-strip strong { margin-top:7px;font-size:10px; }.upcoming-strip span { margin-top:4px;color:var(--muted);font-size:8px; }
.operator-bottom-nav { display:none; }
.operator-connectivity{padding:7px 9px!important;display:flex!important;gap:7px!important;align-items:center;border:1px solid rgba(255,255,255,.13);border-radius:9px;color:#c5d1e1!important;background:rgba(255,255,255,.05)}.operator-connectivity>i{width:8px;height:8px;border-radius:50%;background:#8c98aa}.operator-connectivity.online>i{background:#28b475;box-shadow:0 0 0 4px rgba(40,180,117,.12)}.operator-connectivity.offline>i{background:#e0a13a;box-shadow:0 0 0 4px rgba(224,161,58,.12)}.operator-connectivity span strong,.operator-connectivity span small{display:block!important;text-align:left}.operator-connectivity span strong{font-size:8px!important}.operator-connectivity span small{color:#93a3b8!important;font-size:7px!important}.operator-offline-launch{margin:0 0 25px;padding:14px 16px;display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;border:1px solid #cfe0f7;border-radius:13px;color:#263447;background:linear-gradient(100deg,#edf5ff,#fff);box-shadow:0 6px 18px rgba(39,100,183,.06)}.operator-offline-launch>span{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#fff;background:#2870df;font-size:19px}.operator-offline-launch strong,.operator-offline-launch small{display:block}.operator-offline-launch strong{font-size:12px}.operator-offline-launch small{margin-top:3px;color:#708097;font-size:10px}.operator-offline-launch>b{color:#2465c2;font-size:10px}
@media(max-width:820px){.login-body{padding:0}.login-shell{min-height:100vh;display:block;border-radius:0}.login-brand{min-height:270px;padding:30px}.login-brand h1{font-size:29px}.login-brand > div:nth-child(3){margin:32px 0}.login-brand small{display:none}.login-card{padding:35px 27px}.operator-content{padding:25px 16px 95px}.operator-topbar{height:68px;padding:0 15px}.operator-topbar > a strong{display:none}.operator-welcome h1{font-size:25px}.operator-stats{gap:7px}.operator-stats article{padding:13px 10px}.operator-stats strong{font-size:22px}.tablet-task-card{grid-template-columns:52px 1fr;padding:15px;gap:12px}.task-start-button{grid-column:1/-1;justify-content:center}.operator-draft-grid,.upcoming-strip{grid-template-columns:1fr}.operator-bottom-nav{position:fixed;z-index:40;inset:auto 0 0;height:72px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dbe2ec;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.operator-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#637087;font-size:7px;font-weight:700}.operator-bottom-nav a span{color:#2563eb;font-size:18px}.operator-body .page-content{padding-bottom:90px}}
@media(max-width:820px){.operator-topbar{grid-template-columns:1fr auto auto}.operator-topbar>div{display:none}.operator-connectivity span{display:none}.operator-connectivity{padding:9px!important}.operator-offline-launch{grid-template-columns:38px 1fr}.operator-offline-launch>b{grid-column:1/-1;padding-top:8px;border-top:1px solid #dce8f8;text-align:center}.operator-bottom-nav{grid-template-columns:repeat(5,1fr)}}
.tablet-start-summary { margin-bottom:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px; }.tablet-start-summary > div { padding:17px;border-radius:12px;background:#f1f6fd; }.tablet-start-summary span,.tablet-start-summary strong,.tablet-start-summary small { display:block; }.tablet-start-summary span { color:#2563eb;font-size:7px;font-weight:800;letter-spacing:.08em; }.tablet-start-summary strong { margin-top:7px;font-size:11px; }.tablet-start-summary small { margin-top:4px;color:var(--muted);font-size:8px; }
@media(max-width:820px){.operator-body .form-panel{padding:18px}.operator-body .field input,.operator-body .field select,.operator-body .field textarea{min-height:56px;font-size:15px}.operator-body .btn-primary-app,.operator-body .btn-ghost{min-height:54px;font-size:12px}.tablet-start-summary{grid-template-columns:1fr}.tablet-quick-form{grid-template-columns:1fr!important}}
.saas-topbar { height:70px;padding:0 35px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#202938; }.saas-topbar > a,.saas-topbar > div { display:flex;align-items:center;gap:12px; }.saas-topbar > a span { width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#2563eb;font-weight:800; }.saas-topbar > a strong { font-size:11px;letter-spacing:.1em; }.saas-topbar > div strong { font-size:9px; }.saas-topbar button { padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:7px;color:#bcc7d7;background:transparent;font-size:8px; }.saas-content { max-width:1200px;margin:0 auto;padding:42px 30px; }.saas-tenant-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:14px; }.saas-tenant-grid article { min-height:115px;padding:20px;display:grid;grid-template-columns:52px 1fr auto;gap:15px;align-items:center;border:1px solid #dfe6ef;border-radius:14px;background:#fff; }.tenant-logo { width:50px;height:50px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#2563eb;font-size:18px;font-weight:800; }.saas-tenant-grid span,.saas-tenant-grid h2,.saas-tenant-grid p { display:block; }.saas-tenant-grid span { color:#2563eb;font-size:7px;font-weight:800;text-transform:uppercase; }.saas-tenant-grid h2 { margin:5px 0;font-size:13px; }.saas-tenant-grid p { margin:0;color:var(--muted);font-size:8px; }.saas-tenant-grid form button { border:0; }
@media(max-width:760px){.saas-topbar{padding:0 15px}.saas-topbar > div strong{display:none}.saas-content{padding:25px 15px}.saas-tenant-grid{grid-template-columns:1fr}.saas-tenant-grid article{grid-template-columns:44px 1fr}.saas-tenant-grid form{grid-column:2}}

/* Readable application typography */
body { font-size:15px; line-height:1.5; }
.brand strong { font-size:14px; }
.brand small { font-size:11px; }
.nav-section-title { font-size:10px; }
.app-nav a { font-size:13px; }
.nav-icon { font-size:10px; }
.sidebar-note strong { font-size:12px; }
.sidebar-note small { font-size:10px; line-height:1.45; }
.topbar-context span { font-size:11px; }
.topbar-context strong { font-size:14px; }
.global-search input { font-size:13px; }
.user-chip strong { font-size:12px; }
.user-chip small { font-size:10px; }
.eyebrow { font-size:11px !important; }
.page-heading p,.inspection-header p { font-size:14px; }
.btn-primary-app,.btn-secondary-app,.btn-dark-app,.btn-ghost { font-size:13px; }
.metric-card > span { font-size:13px; }
.metric-card > small { font-size:11px; }
.panel-header h2 { font-size:16px; }
.panel-header p { font-size:12px; }
.panel-header > a { font-size:11px; }
.report-badge { font-size:10px; }
.report-main strong { font-size:13px; }
.report-main small { font-size:11px; }
.status-pill,.module-status { font-size:10px; }
.steps strong { font-size:13px; }
.steps small { font-size:11px; }
.table-tools { font-size:12px; }
.search-box input { font-size:13px; }
th { font-size:10px; }
td { font-size:13px; }
td strong { font-size:13px; }
td small { font-size:11px; }
.table-action,.row-actions a,.row-actions button { font-size:11px; }
.field > span,.field > label { font-size:12px; }
.field input,.field select,.field textarea { font-size:14px; }
.validation-summary,.toast-message { font-size:12px; }
.module-metric span { font-size:11px; }
.module-metric small { font-size:10px; }
.insight-row span,.insight-row small { font-size:10px; }
.calendar-week span,.calendar-days button,.calendar-days > span { font-size:10px; }
.calendar-task { font-size:9px; }
.calendar-cell > small { font-size:9px; }
.operation-hero p { font-size:12px; }
.hero-kicker { font-size:10px; }
.hero-progress span,.hero-progress small { font-size:10px; }
.operation-hero > a { font-size:12px; }
.compact-agenda time { font-size:11px; }
.compact-agenda strong { font-size:12px; }
.compact-agenda small { font-size:10px; }
.action-cards strong { font-size:11px; }
.action-cards small { font-size:10px; }
.signature-summary span { font-size:11px; }
.signature-flow small { font-size:9px; }
.login-brand p:not(.eyebrow) { font-size:14px; }
.login-brand small { font-size:11px; }
.login-card > div > p:not(.eyebrow) { font-size:12px; }
.remember-row { font-size:11px; }
.demo-accounts strong { font-size:11px; }
.demo-accounts span { font-size:10px; }
.operator-topbar > a strong { font-size:13px; }
.operator-topbar > div strong { font-size:12px; }
.operator-topbar > div small { font-size:9px; }
.operator-welcome p { font-size:11px; }
.operator-welcome span { font-size:12px; }
.operator-stats span { font-size:11px; }
.operator-section h2 { font-size:20px; }
.task-time span { font-size:10px; }
.task-body h3 { font-size:16px; }
.task-body p,.task-body small { font-size:11px; }
.task-priority { font-size:9px; }
.task-start-button { font-size:13px; }
.operator-empty strong { font-size:13px; }
.operator-empty span { font-size:11px; }
.operator-draft-grid strong { font-size:12px; }
.operator-draft-grid small,.operator-draft-grid b { font-size:10px; }
.upcoming-strip time { font-size:10px; }
.upcoming-strip strong { font-size:12px; }
.upcoming-strip span { font-size:10px; }
.operator-bottom-nav a { font-size:10px; }
.tablet-start-summary span { font-size:9px; }
.tablet-start-summary strong { font-size:13px; }
.tablet-start-summary small { font-size:11px; }
.saas-topbar > a strong { font-size:13px; }
.saas-topbar > div strong { font-size:11px; }
.saas-tenant-grid span { font-size:9px; }
.saas-tenant-grid h2 { font-size:15px; }
.saas-tenant-grid p { font-size:10px; }
.record-count { font-size:11px; }
.table-empty strong { font-size:13px; }
.table-empty span { font-size:11px; }
.search-result-list strong { font-size:12px; }
.search-result-list small { font-size:10px; }

/* Designer chrome is enlarged; PDF overlay text keeps its document scale. */
.designer-heading p,.designer-help,.toolbar-hint { font-size:10px; }
.designer-toolbar strong,.field-catalog strong { font-size:12px; }
.field-catalog small,.inspector-title div span,.coordinate-grid span { font-size:10px; }
[data-field-list] button span { font-size:11px; }
[data-field-list] button small { font-size:9px; }
.inspector-empty strong,.inspector-title strong { font-size:13px; }
.inspector-empty p,.check-row { font-size:11px; }
.coordinate-grid input { font-size:12px; }
.btn-danger-ghost { font-size:11px; }

/* Customer-centred assets and account detail */
.heading-actions{display:flex;gap:10px;align-items:center}.asset-summary{margin:0 0 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.asset-summary article{padding:20px;border:1px solid #dfe6ef;border-radius:14px;background:#fff}.asset-summary span,.asset-summary strong,.asset-summary small{display:block}.asset-summary span{color:#68758a;font-size:10px;font-weight:800;letter-spacing:.08em}.asset-summary strong{margin:7px 0 3px;color:#202938;font-size:30px;line-height:1}.asset-summary small{color:#78859a;font-size:11px}.asset-summary .attention{border-color:#cfe0f8;background:#f4f8ff}.asset-summary .attention strong{color:#1d63c7}
.customer-asset-list{display:grid;gap:18px}.customer-asset-group{overflow:hidden;border:1px solid #dce4ee;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(31,45,68,.05)}.customer-group-header{padding:19px 22px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;color:#fff;background:linear-gradient(120deg,#202938,#273a55)}.customer-monogram,.customer-profile-mark{display:grid;place-items:center;border-radius:12px;color:#fff;background:#2870df;font-weight:800}.customer-monogram{width:46px;height:46px;font-size:18px}.customer-group-header span{color:#8fbafa;font-size:10px;font-weight:800;letter-spacing:.08em}.customer-group-header h2{margin:2px 0;font-size:17px}.customer-group-header p{margin:0;color:#b7c5d8;font-size:11px}.customer-group-header>a{padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:11px;font-weight:700}.facility-stack{padding:16px;display:grid;gap:14px;background:#f5f7fa}.facility-group{overflow:hidden;border:1px solid #dfe6ef;border-radius:13px;background:#fff}.facility-group>header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e7ebf1}.facility-group>header>div:first-child{display:flex;align-items:center;gap:10px}.facility-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:#2563eb;background:#eaf2ff;font-size:10px;font-weight:800}.facility-group h3{margin:0;font-size:14px}.facility-group p{margin:3px 0 0;color:#7a8698;font-size:10px}.facility-actions{display:flex;gap:12px;align-items:center}.facility-actions span{color:#7a8698;font-size:10px}.facility-actions a,.equipment-card>a{color:#1e63c5;font-size:10px;font-weight:700}.equipment-grid{padding:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.equipment-card{padding:15px;border:1px solid #e0e6ee;border-radius:11px}.equipment-card-top{display:flex;justify-content:space-between;align-items:center}.equipment-code{display:inline-flex;padding:4px 7px;border-radius:5px;color:#1e63c5;background:#eaf2ff;font-size:9px;font-weight:800}.equipment-card h4{margin:12px 0 3px;font-size:13px}.equipment-card>p{margin:0 0 11px;color:#79869a;font-size:10px}.equipment-card dl{margin:0 0 12px;display:grid;gap:6px}.equipment-card dl div{display:flex;justify-content:space-between;gap:8px}.equipment-card dt{color:#8995a6;font-size:9px;font-weight:500}.equipment-card dd{margin:0;color:#3d4858;font-size:9px;text-align:right}.equipment-empty{grid-column:1/-1;padding:20px;color:#7a8698;text-align:center;font-size:11px}
.customer-profile-hero{margin-bottom:18px;padding:24px 26px;display:flex;justify-content:space-between;align-items:flex-end;border-radius:17px;color:#fff;background:linear-gradient(125deg,#202938 15%,#273b59 65%,#1e63c5)}.customer-profile-hero .back-link{color:#c3d2e6}.customer-profile-title{margin-top:17px;display:flex;gap:15px;align-items:center}.customer-profile-mark{width:58px;height:58px;font-size:23px}.customer-profile-title h1{margin:2px 0;font-size:26px}.customer-profile-title p:not(.eyebrow){margin:0;color:#c5d2e3;font-size:11px}.customer-profile-hero .eyebrow{color:#91bcff!important}.customer-section-nav{margin-bottom:16px;padding:6px;display:flex;gap:4px;overflow:auto;border:1px solid #dfe6ef;border-radius:12px;background:#fff}.customer-section-nav a{padding:9px 12px;border-radius:8px;color:#526075;font-size:11px;font-weight:700;white-space:nowrap}.customer-section-nav a:hover{color:#1e63c5;background:#eef4fd}.customer-detail-section{margin-bottom:16px;scroll-margin-top:90px}.customer-facility-grid{display:grid;gap:12px}.customer-facility-grid>article{overflow:hidden;border:1px solid #e0e6ee;border-radius:11px}.customer-facility-grid>article>header{padding:12px 14px;display:flex;justify-content:space-between;background:#f6f8fb}.customer-facility-grid header strong,.customer-facility-grid header small{display:block}.customer-facility-grid header strong{font-size:12px}.customer-facility-grid header small{margin-top:3px;color:#7b8798;font-size:9px}.customer-facility-grid header a,.customer-equipment-row a{color:#1e63c5;font-size:10px;font-weight:700}.customer-equipment-row{padding:11px 14px;display:grid;grid-template-columns:36px 1fr auto auto;gap:10px;align-items:center;border-top:1px solid #edf0f4}.customer-equipment-row>span{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;color:#2563eb;background:#eaf2ff;font-size:8px;font-weight:800}.customer-equipment-row strong,.customer-equipment-row small{display:block}.customer-equipment-row strong{font-size:11px}.customer-equipment-row small,.customer-equipment-row time{color:#7c8899;font-size:9px}.customer-detail-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.portal-list{display:grid}.portal-list>a{padding:12px 2px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid #e8edf3}.portal-list>a:last-child{border-bottom:0}.portal-list strong,.portal-list small{display:block}.portal-list strong{font-size:11px}.portal-list small{margin-top:3px;color:#7a8698;font-size:9px}.planning-list{display:grid}.planning-list article{padding:10px 0;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid #e8edf3}.planning-list article:last-child{border-bottom:0}.planning-list time{padding:5px;text-align:center;border-radius:8px;color:#1e63c5;background:#edf4ff}.planning-list time strong,.planning-list time span{display:block}.planning-list time strong{font-size:15px}.planning-list time span{font-size:8px;text-transform:uppercase}.planning-list article>div>strong,.planning-list article>div>small{display:block}.planning-list article>div>strong{font-size:11px}.planning-list article>div>small{margin-top:3px;color:#7d899a;font-size:9px}.planning-list article>a{color:#1e63c5;font-size:9px;font-weight:700}.customer-activity-feed{display:grid}.customer-activity-feed article{padding:11px 0;display:grid;grid-template-columns:10px 115px 1fr;gap:10px;border-bottom:1px solid #e9edf2}.customer-activity-feed article>span{width:8px;height:8px;margin-top:6px;border-radius:50%;background:#2870df}.customer-activity-feed article>span.tone-green{background:#21a36a}.customer-activity-feed article>span.tone-amber{background:#d38b18}.customer-activity-feed time{color:#8490a1;font-size:9px}.customer-activity-feed small,.customer-activity-feed strong{display:block}.customer-activity-feed small{color:#2870df;font-size:8px;font-weight:800;text-transform:uppercase}.customer-activity-feed strong{margin:2px 0;font-size:11px}.customer-activity-feed p{margin:0;color:#748095;font-size:10px}

/* Read-only customer portal */
.customer-body{min-height:100vh;background:#f3f6fa}.customer-topbar{height:74px;padding:0 max(28px,env(safe-area-inset-left));display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;color:#fff;background:#202938;position:sticky;top:0;z-index:40}.customer-brand{display:flex;gap:10px;align-items:center}.customer-brand>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#2870df;font-weight:800}.customer-brand strong,.customer-brand small{display:block}.customer-brand strong{font-size:12px;letter-spacing:.06em}.customer-brand small{margin-top:2px;color:#98a9c0;font-size:9px}.customer-topbar nav{display:flex;justify-content:center;gap:6px}.customer-topbar nav a{padding:9px 11px;border-radius:8px;color:#bdc8d8;font-size:11px;font-weight:700}.customer-topbar nav a:hover{color:#fff;background:rgba(255,255,255,.08)}.customer-user{display:flex;gap:12px;align-items:center;text-align:right}.customer-user strong,.customer-user small{display:block}.customer-user strong{font-size:11px}.customer-user small{color:#93a4ba;font-size:9px}.customer-user button{padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:7px;color:#c4cfdd;background:transparent;font-size:9px}.customer-shell{max-width:1240px;margin:0 auto;padding:34px 28px 60px}.customer-portal-hero{min-height:190px;padding:30px;display:flex;justify-content:space-between;align-items:center;border-radius:19px;color:#fff;background:linear-gradient(125deg,#202938,#2a3f5e 67%,#1e67cf);box-shadow:0 18px 42px rgba(30,52,82,.15)}.customer-portal-hero h1{margin:7px 0;font-size:29px}.customer-portal-hero>div:first-child>p:not(.eyebrow){max-width:620px;margin:0;color:#c3d1e2;font-size:12px;line-height:1.7}.customer-portal-hero .eyebrow{color:#91bdff!important}.portal-customer-card{min-width:280px;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.08)}.portal-customer-card span,.portal-customer-card strong,.portal-customer-card small{display:block}.portal-customer-card span{color:#8dbbff;font-size:9px;font-weight:800}.portal-customer-card strong{margin:8px 0 3px;font-size:13px}.portal-customer-card small{color:#b9c7d9;font-size:9px}.portal-metrics{margin:15px 0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.portal-metrics article{padding:18px;border:1px solid #dfe6ef;border-radius:13px;background:#fff}.portal-metrics span,.portal-metrics strong,.portal-metrics small{display:block}.portal-metrics span{color:#68768a;font-size:9px;font-weight:800;letter-spacing:.08em}.portal-metrics strong{margin:5px 0;color:#1e63c5;font-size:26px}.portal-metrics small{color:#8490a2;font-size:10px}.portal-columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:15px}.portal-section{padding:20px;border:1px solid #dfe6ef;border-radius:15px;background:#fff;scroll-margin-top:90px}.portal-section>header{margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.portal-section h2{margin:2px 0 0;font-size:17px}.portal-section>header>a{color:#1e63c5;font-size:10px;font-weight:700}.portal-section>header>span{color:#8390a3;font-size:9px}.customer-planning article{grid-template-columns:45px 1fr auto}.customer-planning p{margin:3px 0 0;color:#8290a3;font-size:9px}.portal-empty{padding:24px;color:#7b8799;text-align:center;font-size:11px}.portal-assets{margin-top:15px}.portal-facility-list{display:grid;gap:13px}.portal-facility-list>article{overflow:hidden;border:1px solid #dfe6ef;border-radius:12px}.portal-facility-head{padding:13px 15px;display:flex;justify-content:space-between;align-items:center;background:#f6f8fb}.portal-facility-head>div{display:flex;align-items:center;gap:10px}.portal-facility-head>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#2563eb;background:#eaf2ff;font-size:9px;font-weight:800}.portal-facility-head strong,.portal-facility-head small{display:block}.portal-facility-head strong{font-size:12px}.portal-facility-head small{margin-top:2px;color:#7c899b;font-size:9px}.portal-facility-head b{color:#526075;font-size:9px}.portal-equipment-grid{padding:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.portal-equipment-grid>div{padding:14px;border:1px solid #e2e7ee;border-radius:10px}.portal-equipment-grid>div>strong,.portal-equipment-grid>div>small{display:block}.portal-equipment-grid>div>strong{margin-top:10px;font-size:11px}.portal-equipment-grid>div>small{margin-top:2px;color:#7f8b9c;font-size:9px}.portal-equipment-grid dl{margin:10px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 8px}.portal-equipment-grid dt{color:#8793a4;font-size:8px}.portal-equipment-grid dd{margin:0;font-size:8px;text-align:right}
@media(max-width:980px){.equipment-grid,.portal-equipment-grid{grid-template-columns:repeat(2,1fr)}.customer-detail-columns,.portal-columns{grid-template-columns:1fr}.customer-topbar nav{display:none}.customer-topbar{grid-template-columns:1fr auto}.customer-portal-hero{gap:20px}.portal-customer-card{min-width:240px}}
@media(max-width:700px){.heading-actions{width:100%;align-items:stretch}.heading-actions a{flex:1;text-align:center}.asset-summary,.portal-metrics{grid-template-columns:repeat(2,1fr)}.equipment-grid,.portal-equipment-grid{grid-template-columns:1fr}.customer-group-header{grid-template-columns:42px 1fr}.customer-group-header>a{grid-column:1/-1;text-align:center}.facility-group>header,.customer-profile-hero,.customer-portal-hero{align-items:stretch;flex-direction:column;gap:14px}.facility-actions{justify-content:space-between}.customer-profile-title{align-items:flex-start}.customer-profile-title h1,.customer-portal-hero h1{font-size:22px}.customer-equipment-row{grid-template-columns:34px 1fr auto}.customer-equipment-row time{display:none}.customer-topbar{height:68px;padding:0 14px}.customer-brand strong{font-size:10px}.customer-user>div{display:none}.customer-shell{padding:20px 14px 45px}.portal-customer-card{min-width:0}.customer-activity-feed article{grid-template-columns:8px 1fr}.customer-activity-feed time{grid-column:2}.customer-activity-feed article>div{grid-column:2}}

/* Readable typography for customer-facing and customer-centred screens */
.customer-group-header h2{font-size:19px}.customer-group-header p,.customer-group-header>a{font-size:12px}.facility-group h3{font-size:15px}.facility-group p,.facility-actions span,.facility-actions a{font-size:12px}.equipment-card h4{font-size:15px}.equipment-card>p{font-size:12px}.equipment-card dt{font-size:11px}.equipment-card dd,.equipment-card>a{font-size:12px}.customer-profile-title p:not(.eyebrow){font-size:13px}.customer-section-nav a{font-size:13px}.customer-facility-grid header strong{font-size:14px}.customer-facility-grid header small,.customer-facility-grid header a{font-size:11px}.customer-equipment-row strong{font-size:13px}.customer-equipment-row small,.customer-equipment-row time,.customer-equipment-row a{font-size:11px}.portal-list strong,.planning-list article>div>strong{font-size:13px}.portal-list small,.planning-list article>div>small,.planning-list article>a{font-size:11px}.customer-activity-feed time,.customer-activity-feed p{font-size:11px}.customer-activity-feed small{font-size:10px}.customer-activity-feed strong{font-size:13px}.customer-brand strong{font-size:14px}.customer-brand small,.customer-user small{font-size:11px}.customer-topbar nav a{font-size:13px}.customer-user strong{font-size:13px}.customer-user button{font-size:11px}.customer-portal-hero>div:first-child>p:not(.eyebrow){font-size:14px}.portal-customer-card span{font-size:11px}.portal-customer-card strong{font-size:15px}.portal-customer-card small{font-size:11px}.portal-metrics span{font-size:11px}.portal-metrics small{font-size:12px}.portal-section h2{font-size:19px}.portal-section>header>a,.portal-section>header>span{font-size:12px}.customer-planning p{font-size:11px}.portal-empty{font-size:13px}.portal-facility-head strong{font-size:14px}.portal-facility-head small,.portal-facility-head b{font-size:11px}.portal-equipment-grid>div>strong{font-size:13px}.portal-equipment-grid>div>small{font-size:11px}.portal-equipment-grid dt,.portal-equipment-grid dd{font-size:10px}

.signature-methods{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.signature-methods form{margin:0}.signature-methods button{min-height:38px;padding:0 11px;border:1px solid #cbd9eb;border-radius:8px;color:#1f61bd;background:#f2f7ff;font-size:11px;font-weight:800}.signature-methods button:hover{border-color:#2870df;background:#e6f0ff}.signature-live-note{margin:10px 0 16px;padding:12px 14px;border:1px solid #bfe4d1;border-radius:9px;color:#236746;background:#eefaf3;font-size:11px}.signature-live-note strong{margin-right:5px}.signature-step>form .btn-primary-app{white-space:nowrap}@media(max-width:820px){.signature-methods{grid-column:1/-1;justify-content:stretch}.signature-methods form{flex:1}.signature-methods button{width:100%;min-height:48px;font-size:12px}}
.inspection-attachments{margin-top:16px}.inspection-attachments>.panel-header>span{color:#758296;font-size:10px}.inspection-attachments>div:last-child{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.inspection-attachments a{overflow:hidden;border:1px solid #dde5ee;border-radius:10px;background:#f5f7fa;position:relative;aspect-ratio:4/3}.inspection-attachments img{width:100%;height:100%;object-fit:cover}.inspection-attachments a>span{padding:5px 7px;color:#fff;background:rgba(25,35,49,.72);font-size:8px;position:absolute;right:5px;bottom:5px;border-radius:5px}@media(max-width:800px){.inspection-attachments>div:last-child{grid-template-columns:repeat(2,1fr)}}

/* Smart dispatch and route planning */
.dispatch-page{min-width:0}.dispatch-heading{align-items:flex-end}.dispatch-toolbar{margin-bottom:16px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;border:1px solid #dbe3ee;border-radius:13px;background:#fff}.dispatch-date-nav{display:flex;gap:8px;align-items:center}.dispatch-date-nav>a{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d7e0ec;border-radius:9px;color:#2266c8;font-size:22px}.dispatch-date-nav label{display:flex;gap:9px;align-items:center}.dispatch-date-nav label span{color:#667489;font-size:11px;font-weight:800}.dispatch-date-nav input{min-height:38px;padding:7px 10px;border:1px solid #d5dfeb;border-radius:8px;color:#263447;background:#f8fafc;font:inherit;font-size:12px}.dispatch-summary{display:flex;justify-content:center;gap:8px}.dispatch-summary>span{padding:7px 10px;border-radius:8px;color:#617087;background:#f2f5f9;font-size:11px}.dispatch-summary b{color:#202938}.dispatch-summary .has-warning{color:#956115;background:#fff3dc}.dispatch-message{max-width:360px;padding:0;opacity:0;color:#236746;font-size:11px;font-weight:700;transition:.2s}.dispatch-message.visible{padding:8px 10px;opacity:1;border-radius:8px;background:#eaf8f0}.dispatch-message.warning{color:#8d5d13;background:#fff3dc}.dispatch-message.error{color:#a43c3c;background:#ffeded}.dispatch-board{padding-bottom:15px;display:flex;gap:13px;overflow-x:auto;align-items:flex-start;scrollbar-color:#b8c5d6 transparent}.dispatch-column{width:320px;min-width:320px;overflow:hidden;border:1px solid #dce4ee;border-radius:15px;background:#f5f7fa;box-shadow:0 7px 20px rgba(29,47,72,.05)}.dispatch-column.unassigned-column{border-style:dashed;background:#f8fafc}.dispatch-column-head{min-height:82px;padding:14px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;color:#fff;background:linear-gradient(130deg,#222d3d,#2b415e)}.unassigned-column .dispatch-column-head{background:linear-gradient(130deg,#3b4655,#566477)}.operator-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#2870df;font-size:13px;font-weight:900}.dispatch-column-head span,.dispatch-column-head h2,.dispatch-column-head small{display:block}.dispatch-column-head span{color:#8fbafa;font-size:9px;font-weight:800;text-transform:uppercase}.dispatch-column-head h2{margin:3px 0;font-size:14px}.dispatch-column-head small{color:#c0cada;font-size:10px}.dispatch-column-head>b{min-width:26px;padding:5px;border-radius:7px;color:#dce9fa;background:rgba(255,255,255,.1);font-size:11px;text-align:center}.capacity-strip{height:4px;background:#dfe6ef}.capacity-strip span{height:100%;display:block;background:linear-gradient(90deg,#2870df,#3e9bed)}.capacity-meta{padding:8px 12px;display:flex;justify-content:space-between;color:#6e7c90;font-size:10px}.absence-banner{margin:2px 10px 8px;padding:8px 9px;border:1px solid #f2d69d;border-radius:8px;color:#835712;background:#fff4de;font-size:10px}.absence-banner strong{display:block}.dispatch-dropzone{min-height:170px;padding:10px;display:grid;gap:9px;align-content:start;transition:.15s}.dispatch-dropzone.drag-over{background:#e8f1ff;box-shadow:inset 0 0 0 2px #2870df}.dispatch-card{padding:12px;border:1px solid #dde4ed;border-left:4px solid #4e8de6;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(34,52,75,.05);cursor:grab}.dispatch-card.priority-high,.dispatch-card.priority-critical{border-left-color:#dd5b5b}.dispatch-card.has-error{border-color:#efb1b1;border-left-color:#d84343}.dispatch-card.has-warning{border-left-color:#e6a12d}.dispatch-card.dragging,.dispatch-card.saving{opacity:.45}.dispatch-card-top{display:flex;gap:6px;align-items:center;color:#2164c6;font-size:10px;font-weight:800}.dispatch-card-top em,.dispatch-card-top i{margin-left:auto;padding:3px 5px;border-radius:5px;color:#607086;background:#edf1f6;font-size:8px;font-style:normal;text-transform:uppercase}.dispatch-card-top i{margin-left:0;color:#2469cc;background:#eaf2ff}.dispatch-card h3{margin:9px 0 4px;color:#243044;font-size:13px}.dispatch-card p{margin:0;color:#526176;font-size:11px;font-weight:700}.dispatch-card>small{margin-top:3px;display:block;color:#7c899b;font-size:10px}.dispatch-card>a{margin-top:9px;display:inline-block;color:#2467c8;font-size:10px;font-weight:800}.dispatch-card-controls{margin-top:10px;padding-top:9px;display:grid;grid-template-columns:75px 1fr auto;gap:5px;border-top:1px solid #edf0f4}.dispatch-card-controls input,.dispatch-card-controls select,.dispatch-card-controls button{min-width:0;height:32px;padding:5px 6px;border:1px solid #d7e0eb;border-radius:7px;background:#f9fbfd;font:inherit;font-size:9px}.dispatch-card-controls button{color:#fff;border-color:#2870df;background:#2870df;font-weight:800;cursor:pointer}.rule-message{margin-top:7px;padding:6px 7px;border-radius:6px;font-size:9px;line-height:1.35}.rule-message.error{color:#983939;background:#ffeded}.rule-message.warning{color:#805410;background:#fff2d8}.dispatch-empty{min-height:105px;padding:26px 15px;display:grid;place-items:center;align-content:center;border:1px dashed #cfd9e6;border-radius:10px;color:#7a879a;text-align:center;font-size:11px}.dispatch-empty small{margin-top:4px;display:block;font-size:9px}.dispatch-column-footer{padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid #dfe5ed;background:#fff}.dispatch-column-footer form{margin:0}.dispatch-column-footer button,.dispatch-column-footer a{width:100%;min-height:34px;padding:7px;display:grid;place-items:center;border:1px solid #cfdaea;border-radius:7px;color:#245fae;background:#f2f7ff;font:inherit;font-size:9px;font-weight:800;text-align:center;cursor:pointer}
@media(max-width:800px){.dispatch-toolbar{grid-template-columns:1fr}.dispatch-summary{justify-content:flex-start;overflow:auto}.dispatch-message{max-width:none}.dispatch-column{width:86vw;min-width:300px}.dispatch-card-controls{grid-template-columns:78px 1fr}.dispatch-card-controls button{grid-column:1/-1;min-height:38px}.dispatch-date-nav label{flex:1}.dispatch-date-nav input{width:100%}}

/* Management reports and business intelligence */
.analytics-page{display:grid;gap:15px}.analytics-heading{margin-bottom:0;align-items:flex-end}.analytics-actions{white-space:nowrap}.analytics-filter{padding:14px;display:grid;grid-template-columns:150px 150px minmax(180px,1fr) minmax(180px,1fr) auto auto;gap:9px;align-items:end;border:1px solid #dce4ee;border-radius:13px;background:#fff}.analytics-filter label{display:grid;gap:5px}.analytics-filter label span{color:#6c798c;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.analytics-filter input,.analytics-filter select{width:100%;height:39px;padding:7px 9px;border:1px solid #d5deea;border-radius:8px;color:#263347;background:#f9fbfd;font:inherit;font-size:11px}.analytics-filter button{height:39px;padding:0 15px;border:0;border-radius:8px;color:#fff;background:#2870df;font:inherit;font-size:11px;font-weight:800}.analytics-filter>a{height:39px;padding:0 10px;display:grid;place-items:center;color:#617086;font-size:10px;font-weight:700}.analytics-scope{padding:11px 15px;display:grid;grid-template-columns:auto auto auto 1fr;gap:25px;align-items:center;border-radius:11px;color:#dbe6f5;background:linear-gradient(110deg,#202938,#293e5b)}.analytics-scope>div span,.analytics-scope>div strong{display:block}.analytics-scope>div span{color:#8eb8f4;font-size:8px;font-weight:800;letter-spacing:.08em}.analytics-scope>div strong{margin-top:3px;font-size:10px}.analytics-scope>small{color:#9eadc1;font-size:9px;text-align:right}.analytics-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.analytics-kpi{padding:17px 18px;border:1px solid #dfe6ef;border-top:3px solid #2870df;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(34,52,76,.04)}.analytics-kpi.green{border-top-color:#24a36a}.analytics-kpi.ink{border-top-color:#344258}.analytics-kpi.red{border-top-color:#d95454}.analytics-kpi.amber{border-top-color:#df9c2b}.analytics-kpi.violet{border-top-color:#765ac5}.analytics-kpi>div{display:flex;justify-content:space-between;gap:8px}.analytics-kpi span{color:#637187;font-size:9px;font-weight:800;letter-spacing:.07em}.analytics-kpi em{padding:3px 6px;border-radius:5px;color:#68768a;background:#f0f3f7;font-size:8px;font-style:normal;font-weight:800}.analytics-kpi em.up{color:#267650;background:#e9f7ef}.analytics-kpi em.down{color:#a63d3d;background:#ffeded}.analytics-kpi>strong{margin:9px 0 5px;display:block;color:#202938;font-size:28px;line-height:1}.analytics-kpi>strong small{font-size:12px}.analytics-kpi p{margin:0;color:#7b8799;font-size:10px}.analytics-grid{display:grid;gap:13px}.analytics-overview{grid-template-columns:1.55fr .75fr}.analytics-panel{padding:18px;border:1px solid #dfe6ef;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(31,48,72,.04);min-width:0}.analytics-panel>header{margin-bottom:16px;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.analytics-panel>header span{color:#2870df;font-size:8px;font-weight:800;letter-spacing:.09em}.analytics-panel>header h2{margin:3px 0 0;color:#202938;font-size:16px}.analytics-panel>header p{margin:4px 0 0;color:#7b889a;font-size:10px}.analytics-panel>header>a{color:#2465c2;font-size:9px;font-weight:800}.chart-legend{display:flex;gap:7px;align-items:center;color:#718095;font-size:9px}.chart-legend i{width:8px;height:8px;border-radius:3px;background:#2870df}.chart-legend i.task{margin-left:5px;background:#9bbce9}.trend-chart{height:225px;display:grid;grid-template-columns:25px 1fr;gap:8px}.trend-axis{padding:5px 0 25px;display:flex;flex-direction:column;justify-content:space-between;color:#8a96a7;font-size:8px;text-align:right}.trend-bars{padding:5px 7px 0;display:flex;gap:8px;align-items:stretch;border-bottom:1px solid #dfe5ed;background:repeating-linear-gradient(to bottom,#eef2f6 0,#eef2f6 1px,transparent 1px,transparent 33.33%)}.trend-month{min-width:35px;flex:1;display:grid;grid-template-rows:1fr 24px;gap:5px}.trend-month>div{display:flex;gap:4px;align-items:flex-end;justify-content:center}.trend-month i{width:min(22px,42%);min-height:1px;position:relative;border-radius:5px 5px 1px 1px;background:linear-gradient(#4b91eb,#2870df)}.trend-month i.task{background:linear-gradient(#bdd2ef,#8fb2e2)}.trend-month i b{position:absolute;top:-15px;left:50%;transform:translateX(-50%);color:#546377;font-size:8px}.trend-month>span{color:#748196;font-size:8px;text-align:center;text-transform:capitalize}.status-visual{min-height:220px;display:grid;grid-template-columns:145px 1fr;gap:16px;align-items:center}.status-donut{width:142px;height:142px;padding:18px;border-radius:50%}.status-donut>div{width:100%;height:100%;display:grid;place-items:center;align-content:center;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #edf0f4}.status-donut strong,.status-donut span{display:block}.status-donut strong{font-size:25px}.status-donut span{color:#7e8999;font-size:9px}.status-list{display:grid;gap:9px}.status-list>div{display:grid;grid-template-columns:8px 1fr auto auto;gap:7px;align-items:center}.status-list i,.horizontal-stat>span i{width:7px;height:7px;border-radius:50%;background:#778398}.status-list i.green,.horizontal-stat i.green{background:#24a36a}.status-list i.blue,.horizontal-stat i.blue{background:#2870df}.status-list i.amber,.horizontal-stat i.amber{background:#e3a331}.status-list span{color:#59687c;font-size:10px}.status-list strong{font-size:11px}.status-list small{width:36px;color:#7e8a9c;font-size:9px;text-align:right}.analytics-table-wrap{overflow:auto}.analytics-table{width:100%;border-collapse:collapse;white-space:nowrap}.analytics-table th{padding:8px 10px;color:#7b8798;background:#f4f6f9;font-size:8px;font-weight:800;letter-spacing:.05em;text-align:left}.analytics-table th:first-child{border-radius:7px 0 0 7px}.analytics-table th:last-child{border-radius:0 7px 7px 0}.analytics-table td{padding:11px 10px;border-bottom:1px solid #e9edf2;color:#344155;font-size:10px;vertical-align:middle}.analytics-table tr:last-child td{border-bottom:0}.analytics-table td strong,.analytics-table td small,.analytics-table td b{display:block}.analytics-table td strong{color:#263347;font-size:10px}.analytics-table td small{margin-top:2px;color:#7f8b9d;font-size:8px}.analytics-table td b{font-size:11px}.analytics-table td>a{color:inherit}.table-progress{width:85px;height:5px;overflow:hidden;border-radius:5px;background:#e8edf3}.table-progress i{height:100%;display:block;border-radius:5px;background:#24a36a}.table-progress.capacity i{background:#2870df}.analytics-detail-grid{grid-template-columns:1.55fr .75fr}.analytics-table.compact td{padding:9px 8px}.risk-badge{padding:4px 6px;display:inline-block!important;border-radius:5px;color:#26714e;background:#e9f7ef;font-size:8px!important}.risk-badge.red{color:#9c3c3c;background:#ffeded}.risk-badge.amber{color:#885b16;background:#fff2dc}.category-bars{display:grid;gap:12px}.category-bars>div{display:grid;grid-template-columns:minmax(115px,1fr) 1.3fr 48px;gap:8px;align-items:center}.category-bars p{margin:0}.category-bars p strong,.category-bars p span{display:block}.category-bars p strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.category-bars p span{margin-top:2px;color:#818c9c;font-size:8px}.category-bars>div>div{height:6px;overflow:hidden;border-radius:6px;background:#e9edf3}.category-bars>div>div i{height:100%;display:block;border-radius:6px;background:linear-gradient(90deg,#2870df,#65a6f6)}.category-bars em{color:#8b661e;font-size:8px;font-style:normal;text-align:right}.analytics-bottom-grid{grid-template-columns:.8fr 1.2fr}.horizontal-stat{padding:8px 0;display:grid;grid-template-columns:110px 1fr 25px 35px;gap:8px;align-items:center;border-bottom:1px solid #edf0f4}.horizontal-stat:last-child{border-bottom:0}.horizontal-stat>span{display:flex;gap:7px;align-items:center;color:#566579;font-size:9px}.horizontal-stat>div{height:6px;border-radius:6px;background:#e9edf3}.horizontal-stat>div i{height:100%;display:block;border-radius:6px;background:#778398}.horizontal-stat>div i.green{background:#24a36a}.horizontal-stat>div i.blue{background:#2870df}.horizontal-stat>div i.amber{background:#e3a331}.horizontal-stat b{font-size:10px}.horizontal-stat small{color:#7c899b;font-size:8px;text-align:right}.management-alerts>div{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.management-alerts a{padding:8px;display:grid;grid-template-columns:7px 1fr auto;gap:8px;align-items:center;border:1px solid #e6ebf1;border-radius:8px}.management-alerts a>i{width:7px;height:7px;border-radius:50%;background:#2870df}.management-alerts a>i.red{background:#d95454}.management-alerts a>i.amber{background:#df9c2b}.management-alerts a span small,.management-alerts a span strong,.management-alerts a span em{display:block}.management-alerts a span small{color:#2870df;font-size:7px;font-weight:800}.management-alerts a span strong{margin:1px 0;font-size:9px}.management-alerts a span em{color:#7e8a9b;font-size:8px;font-style:normal}.management-alerts a>b{color:#2870df}.analytics-empty{padding:25px!important;color:#7d899a!important;text-align:center!important;font-size:10px!important}.analytics-footnote{padding:11px 14px;border:1px solid #d8e4f4;border-radius:10px;color:#66758a;background:#f3f7fc;font-size:9px}.analytics-footnote strong{color:#235fae}
@media(max-width:1180px){.analytics-filter{grid-template-columns:repeat(2,1fr) auto auto}.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-overview,.analytics-detail-grid{grid-template-columns:1fr}.status-visual{grid-template-columns:160px 1fr}.analytics-bottom-grid{grid-template-columns:1fr}}
@media(max-width:700px){.analytics-heading{align-items:stretch}.analytics-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.analytics-filter{grid-template-columns:1fr 1fr}.analytics-filter label:nth-child(n+3){grid-column:1/-1}.analytics-filter button,.analytics-filter>a{width:100%}.analytics-scope{grid-template-columns:1fr 1fr;gap:10px}.analytics-scope>small{grid-column:1/-1;text-align:left}.analytics-kpis{grid-template-columns:1fr}.analytics-panel{padding:14px}.trend-chart{height:200px}.trend-bars{overflow-x:auto}.trend-month{min-width:42px}.status-visual{grid-template-columns:1fr;justify-items:center}.status-list{width:100%}.management-alerts>div{grid-template-columns:1fr}}
@media print{.app-sidebar,.topbar,.analytics-heading .heading-actions,.analytics-filter,.analytics-panel>header>a{display:none!important}.app-shell{margin:0!important}.page-content{padding:0!important}.analytics-page{gap:8px}.analytics-heading{display:block!important}.analytics-heading h1{font-size:22px}.analytics-heading p{font-size:9px}.analytics-scope{color:#111!important;background:#eef2f6!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.analytics-kpis{grid-template-columns:repeat(3,1fr)}.analytics-kpi,.analytics-panel{box-shadow:none;break-inside:avoid}.analytics-overview,.analytics-detail-grid,.analytics-bottom-grid{grid-template-columns:1fr 1fr}.analytics-table{white-space:normal}.trend-chart{height:180px}.analytics-footnote{break-inside:avoid}@page{size:A4 landscape;margin:9mm}}

/* Notification center */
.notification-metrics{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.notification-metrics article{padding:18px;border:1px solid #dfe6ef;border-radius:13px;background:#fff}.notification-metrics article.credit{border-color:#c8dcf8;background:#f2f7ff}.notification-metrics span,.notification-metrics strong,.notification-metrics small{display:block}.notification-metrics span{color:#68768b;font-size:10px;font-weight:800;letter-spacing:.08em}.notification-metrics strong{margin:7px 0 3px;color:#202938;font-size:22px}.notification-metrics .credit strong{color:#1e63c5;font-size:30px}.notification-metrics small{color:#7d899b;font-size:11px}.notification-columns{margin-bottom:16px;display:grid;grid-template-columns:1.3fr .7fr;gap:15px}.notification-side{display:grid;gap:15px;align-content:start}.template-list{display:grid}.template-list>a{padding:12px 2px;display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;border-bottom:1px solid #e8edf3}.template-list>a:last-child{border-bottom:0}.template-list strong,.template-list small{display:block}.template-list strong{font-size:12px}.template-list small{margin-top:3px;color:#7c899a;font-size:10px}.channel-icon{width:44px;height:34px;display:grid;place-items:center;border-radius:8px;color:#1c62c5;background:#eaf2ff;font-size:8px;font-weight:800}.channel-icon.sms{color:#20734d;background:#e8f7ef}.credit-balance{padding:16px;border-radius:11px;background:linear-gradient(125deg,#202938,#28568e);color:#fff}.credit-balance span,.credit-balance strong,.credit-balance small{display:block}.credit-balance span{color:#9fc5fa;font-size:9px;font-weight:800}.credit-balance strong{margin:4px 0;font-size:30px}.credit-balance small{color:#bdcbe0;font-size:10px}.credit-packages{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.credit-packages button{width:100%;padding:10px;border:1px solid #dce4ee;border-radius:9px;background:#fff;text-align:left}.credit-packages strong,.credit-packages span{display:block}.credit-packages strong{color:#1f63c4;font-size:15px}.credit-packages span{margin-top:2px;color:#778499;font-size:9px}.settings-note{margin:12px 0 0;color:#748196;font-size:10px;line-height:1.55}.test-actions form{margin-top:8px}.test-actions form button{width:100%}.notification-log{margin-top:16px}.notification-settings-form{display:grid;gap:15px}.settings-section>header{margin-bottom:18px;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}.settings-section h2{margin:0;font-size:16px}.settings-section header p{margin:3px 0 0;color:#7a879a;font-size:11px}.settings-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;color:#1e63c5;background:#eaf2ff;font-size:8px;font-weight:800}.settings-icon.sms{color:#20724e;background:#e8f7ef}.settings-icon.schedule{color:#9b6114;background:#fff2db}.toggle{display:flex;gap:9px;align-items:center;color:#58667b;font-size:11px;font-weight:700}.toggle input{position:absolute;opacity:0}.toggle span{width:38px;height:22px;padding:3px;border-radius:20px;background:#cbd4df;transition:.2s}.toggle span:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}.toggle input:checked+span{background:#2870df}.toggle input:checked+span:after{transform:translateX(16px)}.field small{display:block;margin-top:5px;color:#8490a1;font-size:9px}.template-editor-grid{display:grid;grid-template-columns:1fr 260px;gap:18px}.template-editor-grid>div{display:grid;gap:13px}.template-editor textarea{min-height:280px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55}.template-variables{padding:17px;border-radius:11px;background:#f3f6fa}.template-variables h3{margin:0;font-size:14px}.template-variables p{color:#78859a;font-size:10px}.template-variables code{margin:0 5px 6px 0;padding:5px 7px;display:inline-block;border:1px solid #d7e2f1;border-radius:5px;color:#1c61bd;background:#fff;font-size:9px}.template-variables small{margin-top:10px;display:block;color:#7c899b;font-size:9px;line-height:1.55}.saas-header-link{padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:7px;color:#c8d4e4;font-size:10px;font-weight:700}
@media(max-width:980px){.notification-columns{grid-template-columns:1fr}.template-editor-grid{grid-template-columns:1fr}.template-variables{order:-1}}
@media(max-width:700px){.notification-metrics{grid-template-columns:1fr 1fr}.settings-section>header{grid-template-columns:45px 1fr}.settings-section .toggle{grid-column:1/-1}.credit-packages{grid-template-columns:1fr 1fr}.template-list>a{grid-template-columns:45px 1fr}.template-list>a>.module-status{grid-column:2}}
/* Denetra brand system */
.brand-mark{padding:0;background:transparent!important;object-fit:contain}
.operator-topbar>a>img,.customer-brand>img,.saas-topbar>a>img{width:38px;height:38px;display:block;border-radius:10px;box-shadow:0 8px 20px rgba(23,98,213,.2)}
.saas-topbar>a>img{width:36px;height:36px}
.login-body{background:radial-gradient(circle at 12% 15%,#dceaff 0,transparent 31%),linear-gradient(135deg,#edf3fa,#e6edf7)}
.login-shell{width:min(1120px,100%);min-height:690px;grid-template-columns:1.08fr .92fr;border:1px solid rgba(255,255,255,.8);box-shadow:0 35px 100px rgba(20,40,72,.2)}
.login-brand{padding:52px;background:radial-gradient(circle at 90% 8%,rgba(67,165,255,.2),transparent 31%),linear-gradient(145deg,#162131,#1c2d44 58%,#1757ad);position:relative;overflow:hidden}
.login-brand:after{content:"";width:360px;height:360px;border:1px solid rgba(255,255,255,.08);border-radius:50%;position:absolute;right:-180px;bottom:-210px;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018)}
.login-wordmark{display:flex;align-items:center;gap:13px;color:#fff;position:relative;z-index:1}
.login-wordmark>img{width:52px;height:52px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.18))}
.login-wordmark strong,.login-wordmark small{display:block}
.login-wordmark strong{font-size:19px;letter-spacing:.13em}
.login-wordmark small{margin-top:2px;color:#86baff;font-size:8px;letter-spacing:.18em}
.login-brand>div:nth-child(2){margin:auto 0;position:relative;z-index:1}
.login-brand h1{max-width:520px;margin:11px 0 18px;font-size:43px;line-height:1.08;letter-spacing:-.055em}
.login-brand p:not(.eyebrow){max-width:500px;color:#b9c9dc;font-size:14px;line-height:1.75}
.login-capabilities{max-width:500px;margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}
.login-capabilities span{padding:7px 10px;border:1px solid rgba(154,198,255,.18);border-radius:100px;color:#d1e3fb;background:rgba(255,255,255,.055);font-size:9px;font-weight:700}
.login-brand-footer{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.login-brand-footer small{color:#96a9c1;font-size:10px}
.login-brand-footer a{color:#9bc7ff;font-size:11px;font-weight:800;letter-spacing:.04em}
.login-card{padding:48px 58px}
.login-card-heading>img{width:184px;height:auto;margin-bottom:36px}
.login-card h2{margin:8px 0;font-size:27px;letter-spacing:-.025em}
.login-card .field input{min-height:52px;border-color:#d5deea;background:#fbfcfe}
.login-card .btn-primary-app{min-height:52px;display:flex;justify-content:center;align-items:center;gap:14px;border-radius:10px;background:linear-gradient(110deg,#1762d5,#2f83ee);box-shadow:0 12px 24px rgba(23,98,213,.2)}
.login-card .btn-primary-app span{font-size:18px}
.demo-accounts{border:1px solid #e2e8f1;background:#f5f8fc}
@media(max-width:820px){
  .login-brand{min-height:320px;padding:28px}
  .login-brand h1{font-size:31px}
  .login-brand>div:nth-child(2){margin:34px 0 22px}
  .login-brand-footer{display:none}
  .login-capabilities span:nth-child(n+3){display:none}
  .login-card{padding:36px 27px 45px}
  .login-card-heading>img{width:155px;margin-bottom:25px}
}

/* Operator iPad form experience */
.operator-topbar{grid-template-columns:minmax(190px,1fr) auto auto auto}
.tablet-form-toolbar{display:none}
@media(max-width:1100px){
  .operator-body .operator-content{padding-bottom:125px}
  .operator-body .inspection-header{margin-bottom:14px;align-items:center}
  .operator-body .inspection-header h1{font-size:25px}
  .operator-body .inspection-workspace{display:block}
  .operator-body .section-rail{margin-bottom:13px;display:grid;grid-template-columns:180px minmax(0,1fr);position:sticky;top:76px;z-index:22;border-color:#dbe4ef;border-radius:13px;box-shadow:0 10px 28px rgba(27,48,77,.1)}
  .operator-body .progress-block{padding:13px 15px;border:0;border-right:1px solid #e3e9f1}
  .operator-body .progress-block>span,.operator-body .progress-block>strong{font-size:10px}
  .operator-body .progress-track{height:6px;margin-top:9px;background:#e8edf4}
  .operator-body .progress-track i{background:#2870df}
  .operator-body .section-rail nav{padding:6px;display:flex;gap:5px;max-height:none;overflow-x:auto;scrollbar-width:none}
  .operator-body .section-rail nav::-webkit-scrollbar{display:none}
  .operator-body .section-rail button{width:auto;min-width:145px;min-height:52px;padding:8px 10px;flex:0 0 auto}
  .operator-body .section-rail button>span{flex-basis:29px;height:29px;font-size:10px}
  .operator-body .section-rail button strong{max-width:100px;overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}
  .operator-body .section-rail button small{font-size:8px}
  .operator-body .section-rail button.active{background:#202938}
  .operator-body .section-rail button.active>span{color:#fff;background:#2870df}
  .operator-body .form-section{border-color:#dce4ed;border-radius:16px;box-shadow:0 10px 28px rgba(29,48,73,.06)}
  .operator-body .form-section>header{padding:20px 22px 15px}
  .operator-body .form-section>header h2{font-size:21px}
  .operator-body .form-section>.form-grid{padding:20px 22px 26px;gap:16px}
  .operator-body .form-section>footer{display:none}
  .operator-body .field input,.operator-body .field select,.operator-body .field textarea{min-height:58px;padding:13px 14px;border-color:#cdd8e5;border-radius:11px;font-size:15px}
  .operator-body .field textarea{min-height:120px}
  .operator-body .field>label{font-size:12px}
  .operator-body .choice-button span{min-height:58px;font-size:13px}
  .operator-body .inspection-checkbox{min-height:58px}
  .operator-body .ready-panel{margin-left:0;margin-bottom:18px}
  .operator-body .tablet-form-toolbar{padding:10px max(20px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(110px,auto) minmax(180px,1fr) minmax(125px,auto);gap:10px;align-items:center;border-top:1px solid #d8e1ec;background:rgba(255,255,255,.97);box-shadow:0 -12px 30px rgba(29,45,68,.12);backdrop-filter:blur(16px);position:fixed;z-index:60;inset:auto 0 0}
  .tablet-form-toolbar>div{text-align:center}
  .tablet-form-toolbar small,.tablet-form-toolbar strong{display:block}
  .tablet-form-toolbar small{color:#2870df;font-size:9px;font-weight:800}
  .tablet-form-toolbar strong{max-width:420px;margin:2px auto 0;overflow:hidden;color:#263347;font-size:11px;white-space:nowrap;text-overflow:ellipsis}
  .tablet-form-toolbar>button{min-height:50px;padding:0 18px;border-radius:10px;font-size:11px;font-weight:800}
  .tablet-toolbar-secondary{border:1px solid #cad6e4;color:#4e5e72;background:#fff}
  .tablet-toolbar-primary{border:1px solid #2870df;color:#fff;background:#2870df}
}
@media(max-width:820px){
  .operator-topbar{grid-template-columns:1fr auto auto}
  .operator-body .section-rail{top:68px;grid-template-columns:1fr}
  .operator-body .progress-block{padding:9px 12px;border-right:0;border-bottom:1px solid #e3e9f1}
  .operator-body .progress-block>span,.operator-body .progress-block>strong{font-size:9px}
  .operator-body .section-rail button{min-width:132px}
  .operator-body .tablet-form-toolbar{bottom:72px;padding:8px 12px;grid-template-columns:92px minmax(0,1fr) 105px}
  .tablet-form-toolbar>button{min-height:48px;padding:0 8px}
  .tablet-form-toolbar strong{max-width:220px;font-size:10px}
}
@media(max-width:540px){
  .operator-body .inspection-header{align-items:flex-start}
  .operator-body .inspection-header h1{font-size:21px}
  .operator-body .inspection-header p{font-size:11px}
  .operator-body .form-section>.form-grid,.operator-body .form-section>header{padding-left:15px;padding-right:15px}
  .operator-body .tablet-form-toolbar{grid-template-columns:82px minmax(0,1fr) 94px}
  .tablet-form-toolbar>button{font-size:10px}
}

/* Form Designer V2 */
.designer-v2{--designer-blue:#2870df;--designer-dark:#182334;--designer-border:#d9e2ed;min-height:780px;display:grid;grid-template-columns:230px minmax(460px,1fr) 310px;grid-template-rows:58px minmax(680px,1fr) 34px;grid-template-areas:"commands commands commands" "left canvas inspector" "status status status";overflow:hidden;border:1px solid var(--designer-border);border-radius:17px;background:#dce3ec;box-shadow:0 16px 45px rgba(24,43,70,.1)}
.designer-commandbar{grid-area:commands;padding:8px 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--designer-border);background:#fff;position:relative;z-index:30}
.command-group{display:flex;align-items:center;gap:4px}.command-group>button{min-width:38px;height:40px;padding:0 10px;border:1px solid #d8e1ec;border-radius:9px;color:#45556c;background:#fff;font-size:13px;font-weight:800}.command-group>button:hover:not(:disabled){border-color:#9db8dc;background:#f2f7ff}.command-group>button.active{color:#fff;border-color:var(--designer-dark);background:var(--designer-dark)}.command-group>button.primary{color:#fff;border-color:var(--designer-blue);background:var(--designer-blue)}.command-group>button:disabled{opacity:.35;cursor:not-allowed}.command-group button span{margin-left:4px;font-size:10px}.command-separator{width:1px;height:28px;background:#e1e7ef}.command-spacer{flex:1}.panel-commands{display:none}.zoom-commands .zoom-value{min-width:60px;font-size:10px}.snap-toggle{height:40px;padding:0 10px;display:flex;align-items:center;border:1px solid #d8e1ec;border-radius:9px;color:#5b687a;background:#fff;font-size:9px;font-weight:800;cursor:pointer}.snap-toggle input{position:absolute;opacity:0}.snap-toggle:has(input:checked){color:#1f62c2;border-color:#b9d2f5;background:#eef5ff}
.designer-v2-left{grid-area:left;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--designer-border);background:#fff}.page-browser{padding:13px;border-bottom:1px solid #e4eaf1}.page-browser>header,.field-browser>header{display:flex;align-items:center;justify-content:space-between}.page-browser strong,.page-browser small,.field-browser strong,.field-browser small{display:block}.page-browser strong,.field-browser strong{font-size:11px}.page-browser small,.field-browser small{margin-top:2px;color:#7d8999;font-size:8px}.page-browser>header>span{color:#2468c7;font-size:9px;font-weight:800}.page-thumbnails{margin-top:11px;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.page-thumbnail{min-width:70px;padding:5px;border:1px solid #dbe3ed;border-radius:8px;background:#f4f6f9;position:relative}.page-thumbnail.active{border-color:#2870df;box-shadow:0 0 0 2px rgba(40,112,223,.13)}.page-thumbnail canvas{width:58px;height:auto;display:block;background:#fff}.page-thumbnail span{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#28374d;font-size:8px;font-weight:800;position:absolute;right:3px;bottom:3px}.field-browser{min-height:0;padding:13px;display:flex;flex:1;flex-direction:column}.field-search-row{margin:11px 0 7px;display:grid;grid-template-columns:1fr 36px;gap:5px}.field-search-row input,.field-browser>select{width:100%;min-height:38px;padding:7px 10px;border:1px solid #d7e0eb;border-radius:8px;background:#f9fbfd;font-size:10px}.field-search-row button{border:1px solid #d7e0eb;border-radius:8px;color:#7b8798;background:#fff;font-weight:900}.field-search-row button.active{color:#fff;border-color:#c94c4c;background:#c94c4c}.field-list-v2{min-height:0;margin-top:8px;display:grid;align-content:start;gap:4px;overflow:auto}.field-list-v2 button{padding:9px;display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;border:1px solid transparent;border-radius:8px;color:#26364b;background:transparent;text-align:left}.field-list-v2 button:hover{background:#f1f5fa}.field-list-v2 button.active{border-color:#bdd2f1;background:#edf4ff}.field-list-v2 button.invalid{border-left:3px solid #d45a56}.field-list-v2 button>i{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;color:#2362bd;background:#e8f1ff;font-size:8px;font-style:normal;font-weight:900}.field-list-v2 strong,.field-list-v2 small{display:block}.field-list-v2 strong{max-width:125px;overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.field-list-v2 small{margin-top:2px;color:#8390a1;font-size:7px}.field-list-v2 em{color:#8490a0;font-size:7px;font-style:normal}.field-list-empty{padding:28px 8px;color:#7b8899;text-align:center;font-size:10px}
.designer-v2-canvas{grid-area:canvas;min-width:0;min-height:0;display:flex;flex-direction:column;background:#dce3ec;position:relative}.canvas-notice{min-height:40px;padding:7px 11px;display:flex;align-items:center;justify-content:space-between;color:#43536a;background:#edf3fa;border-bottom:1px solid #ced9e6;font-size:9px;font-weight:700}.canvas-notice.placement{color:#fff;background:#1f68ce}.canvas-notice button{width:26px;height:26px;border:0;border-radius:7px;color:inherit;background:rgba(255,255,255,.18)}.canvas-scroll{min-height:0;flex:1;padding:22px;overflow:auto;cursor:default}.designer-v2[data-tool="pan"] .canvas-scroll{cursor:grab}.designer-v2.panning .canvas-scroll{cursor:grabbing}.designer-v2[data-tool="add"] .field-overlay{cursor:crosshair}.designer-v2 .pdf-stage{position:relative;margin:0 auto;background:#fff;box-shadow:0 12px 38px rgba(24,42,66,.2)}.designer-v2 .pdf-stage canvas{display:block}.designer-grid{position:absolute;inset:0;pointer-events:none;opacity:0;background-image:linear-gradient(rgba(40,112,223,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(40,112,223,.12) 1px,transparent 1px);background-size:5px 5px}.designer-v2.snap-visible .designer-grid{opacity:1}.designer-v2 .field-overlay{position:absolute;inset:0}.designer-v2 .designer-field{position:absolute;padding:0;border:1.5px solid #2870df;background:rgba(40,112,223,.16);color:#174b96;text-align:left;cursor:move;overflow:visible}.designer-v2[data-tool="pan"] .designer-field,.designer-v2.preview-mode .designer-field{pointer-events:none}.designer-v2 .designer-field span{height:100%;padding:2px 4px;display:flex;align-items:center;overflow:hidden;font-size:7px;font-weight:800;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.designer-v2 .designer-field.selected{z-index:4;color:#fff;border-color:#15263d;background:rgba(31,102,205,.72);box-shadow:0 0 0 2px rgba(255,255,255,.8),0 0 0 4px rgba(31,102,205,.24)}.designer-v2 .designer-field.multi-selected{z-index:3;border-color:#8b52d0;background:rgba(139,82,208,.23)}.designer-v2 .designer-field.invalid{border-color:#dc4f4f;background:rgba(220,79,79,.18)}.designer-v2 .designer-field.preview{color:#1c2d44;border-style:dashed;border-color:#7a8798;background:rgba(255,255,255,.78)}.designer-v2 .resize-handle{width:16px;height:16px;border:2px solid #fff;background:#1f64c7}.designer-v2 .resize-handle.nw{left:-8px;top:-8px}.designer-v2 .resize-handle.ne{right:-8px;top:-8px}.designer-v2 .resize-handle.sw{left:-8px;bottom:-8px}.designer-v2 .resize-handle.se{right:-8px;bottom:-8px}.alignment-guides{position:absolute;inset:0;pointer-events:none}.alignment-guides i{position:absolute;background:#eb3e88;box-shadow:0 0 0 1px rgba(255,255,255,.8)}.alignment-guides i.vertical{width:1px;top:0;bottom:0}.alignment-guides i.horizontal{height:1px;left:0;right:0}
.designer-v2-inspector{grid-area:inspector;min-width:0;border-left:1px solid var(--designer-border);background:#fff;overflow:auto}.designer-v2-inspector form{display:grid;gap:0}.designer-v2-inspector .inspector-title{padding:16px;position:sticky;top:0;z-index:3;background:#fff}.designer-v2-inspector .inspector-empty b{margin-top:12px;padding:7px 9px;display:inline-block;border-radius:7px;color:#8b671c;background:#fff2d6;font-size:8px}.inspector-section{padding:15px;display:grid;gap:11px;border-bottom:1px solid #e4eaf1}.inspector-section>header{margin-bottom:2px}.inspector-section>header strong,.inspector-section>header small{display:block}.inspector-section>header strong{font-size:11px}.inspector-section>header small{margin-top:2px;color:#8390a1;font-size:8px}.multi-selection-note{margin:12px 15px 0;padding:10px;border-radius:8px;color:#5f4086;background:#f1e9fb}.multi-selection-note strong,.multi-selection-note span{display:block}.multi-selection-note strong{font-size:10px}.multi-selection-note span{margin-top:2px;font-size:8px}.inspector-advanced{margin:0;padding:12px 15px;border-bottom:1px solid #e4eaf1}.inspector-advanced summary{padding:5px 0;color:#4f6075;font-size:10px;font-weight:800;cursor:pointer}.inspector-advanced[open] summary{margin-bottom:12px}.designer-v2-inspector .inspector-actions{padding:14px 15px;position:sticky;bottom:0;background:rgba(255,255,255,.97)}.locked-inspector-note{margin:15px;padding:11px;border-radius:8px;color:#80601d;background:#fff4d9;font-size:9px;line-height:1.5}
.designer-statusbar{grid-area:status;padding:0 12px;display:flex;align-items:center;gap:18px;color:#637187;border-top:1px solid var(--designer-border);background:#fff;font-size:8px}.designer-statusbar>span:first-child{color:#39755d;font-weight:800}.designer-statusbar>span:first-child i{width:7px;height:7px;margin-right:5px;display:inline-block;border-radius:50%;background:#2bad72}.designer-statusbar.saving>span:first-child{color:#8a651c}.designer-statusbar.saving>span:first-child i{background:#e0a232}.designer-statusbar.error>span:first-child{color:#a83f3f}.designer-statusbar.error>span:first-child i{background:#d84f4f}.designer-shortcuts{margin-left:auto}
.designer-v2.left-collapsed{grid-template-columns:0 minmax(460px,1fr) 310px}.designer-v2.right-collapsed{grid-template-columns:230px minmax(460px,1fr) 0}.designer-v2.left-collapsed.right-collapsed{grid-template-columns:0 minmax(460px,1fr) 0}.designer-v2.left-collapsed .designer-v2-left,.designer-v2.right-collapsed .designer-v2-inspector{visibility:hidden}
body.designer-focus{overflow:hidden}body.designer-focus .app-sidebar,body.designer-focus .topbar,body.designer-focus .designer-page-heading,body.designer-focus .revision-lock,body.designer-focus .designer-template-info{display:none!important}body.designer-focus .app-shell{margin-left:0}body.designer-focus .page-content{padding:0}body.designer-focus .designer-v2{height:100vh;min-height:100vh;border:0;border-radius:0;grid-template-rows:58px minmax(0,1fr) 34px}
.field-palette-backdrop{padding:20px;display:grid;place-items:center;background:rgba(18,31,49,.55);backdrop-filter:blur(4px);position:fixed;z-index:200;inset:0}.field-palette-backdrop[hidden]{display:none}.field-palette{width:min(720px,100%);max-height:min(720px,90vh);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(12,27,49,.32)}.field-palette>header{padding:20px 22px;display:flex;justify-content:space-between;border-bottom:1px solid #e1e7ef}.field-palette>header small{color:#2870df;font-size:8px;font-weight:900;letter-spacing:.1em}.field-palette>header h2{margin:4px 0;font-size:20px}.field-palette>header p{margin:0;color:#758296;font-size:9px}.field-palette>header button{width:34px;height:34px;border:1px solid #d8e1ec;border-radius:9px;background:#fff}.palette-tabs{padding:10px 18px 0;display:flex;gap:5px}.palette-tabs button{padding:9px 12px;border:0;border-radius:8px;color:#657389;background:transparent;font-size:9px;font-weight:800}.palette-tabs button.active{color:#fff;background:#24364f}.palette-grid{padding:14px 18px 20px;display:none;grid-template-columns:repeat(3,1fr);gap:8px}.palette-grid.active{display:grid}.palette-grid>button{min-height:82px;padding:11px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:2px 9px;align-items:center;border:1px solid #dce4ed;border-radius:11px;background:#fff;text-align:left}.palette-grid>button:hover{border-color:#8fb5e9;background:#f2f7ff}.palette-grid i{width:34px;height:34px;grid-row:1/3;display:grid;place-items:center;border-radius:8px;color:#fff;background:#2870df;font-size:10px;font-style:normal;font-weight:900}.palette-grid strong,.palette-grid small{display:block}.palette-grid strong{font-size:10px}.palette-grid small{color:#7e8a9b;font-size:8px}.palette-sections{padding:14px 18px 20px;display:none;gap:8px}.palette-sections.active{display:grid}.palette-sections button{padding:15px;display:grid;grid-template-columns:1fr auto;border:1px solid #dce4ed;border-radius:11px;background:#fff;text-align:left}.palette-sections strong,.palette-sections small{display:block}.palette-sections strong{font-size:11px}.palette-sections small{margin-top:3px;color:#7b889a;font-size:8px}.palette-sections span{grid-column:2;grid-row:1/3;align-self:center;color:#2870df;font-size:9px;font-weight:800}
.designer-toast{max-width:410px;padding:12px 15px;border-radius:10px;color:#fff;background:#24364f;box-shadow:0 12px 35px rgba(18,35,60,.25);position:fixed;z-index:240;right:20px;bottom:20px;font-size:10px;font-weight:700}.designer-toast.error{background:#a94747}.designer-toast.warning{background:#9a681b}
.designer-grid{background-size:var(--grid-size,5px) var(--grid-size,5px)}
@media(pointer:coarse){
  .designer-v2 .resize-handle{width:26px;height:26px}
  .designer-v2 .resize-handle.nw{left:-13px;top:-13px}
  .designer-v2 .resize-handle.ne{right:-13px;top:-13px}
  .designer-v2 .resize-handle.sw{left:-13px;bottom:-13px}
  .designer-v2 .resize-handle.se{right:-13px;bottom:-13px}
}
@media(max-width:1280px){.designer-v2{grid-template-columns:200px minmax(420px,1fr) 280px}.view-commands button span,.tool-commands button span{display:none}.alignment-commands{position:absolute;top:55px;left:50%;padding:5px;border:1px solid #d8e1ec;border-radius:10px;background:#fff;box-shadow:0 8px 25px rgba(25,43,68,.14);transform:translateX(-50%)}}
@media(max-width:950px){.designer-v2{grid-template-columns:0 minmax(0,1fr) 0;grid-template-areas:"commands commands commands" "canvas canvas canvas" "status status status"}.panel-commands{display:flex}.designer-v2-left,.designer-v2-inspector{width:min(310px,88vw);visibility:hidden;position:absolute;z-index:60;top:58px;bottom:34px}.designer-v2-left{left:0}.designer-v2-inspector{right:0}.designer-v2:not(.left-collapsed) .designer-v2-left,.designer-v2:not(.right-collapsed) .designer-v2-inspector{visibility:visible;box-shadow:0 12px 45px rgba(18,35,59,.24)}.designer-v2{position:relative}.designer-shortcuts,.snap-toggle{display:none}.designer-commandbar{overflow-x:auto}.designer-v2-canvas{grid-column:1/-1}.palette-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.designer-v2{min-height:720px}.designer-commandbar{gap:4px}.command-group>button{min-width:36px;padding:0 8px}.history-commands button:nth-child(n+3),.view-commands [data-detect-fields]{display:none}.canvas-scroll{padding:12px}.designer-statusbar{gap:8px}.designer-statusbar span:nth-child(n+3){display:none}.palette-grid{grid-template-columns:1fr}.field-palette-backdrop{padding:8px}.field-palette{max-height:96vh}.designer-page-heading .designer-actions{display:grid;grid-template-columns:1fr 1fr}.designer-page-heading .designer-actions>*:last-child{grid-column:1/-1}}

/* Denetra SaaS Control Center */
.saas-topbar nav{display:flex;align-items:center;gap:5px}.saas-topbar nav a{padding:9px 12px;border-radius:8px;color:#b9c7d9;font-size:10px;font-weight:700}.saas-topbar nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.saas-content{max-width:1380px}
.saas-hero,.saas-detail-heading{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.saas-hero h1,.saas-detail-heading h1{margin:5px 0 7px;font-size:30px;letter-spacing:-.035em}.saas-hero p,.saas-detail-heading p{margin:0;color:#708096;font-size:11px}.saas-hero .btn-primary-app{min-height:44px;display:flex;align-items:center}
.saas-metric-grid{margin-bottom:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.saas-metric-grid article,.saas-detail-stats article{padding:18px;border:1px solid #dfe6ef;border-radius:13px;background:#fff}.saas-metric-grid span,.saas-metric-grid strong,.saas-metric-grid small,.saas-detail-stats span,.saas-detail-stats strong,.saas-detail-stats small{display:block}.saas-metric-grid span,.saas-detail-stats span{color:#6f7e92;font-size:8px;font-weight:900;letter-spacing:.07em}.saas-metric-grid strong{margin:8px 0 5px;color:#202e43;font-size:25px}.saas-metric-grid small,.saas-detail-stats small{color:#8b97a7;font-size:8px}.saas-metric-grid article.attention{border-color:#e7c987;background:#fffaf0}.saas-metric-grid article.attention strong{color:#b36b1d}
.saas-list-panel{overflow:hidden;border:1px solid #dfe6ef;border-radius:15px;background:#fff}.saas-list-panel>header{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6ebf2}.saas-list-panel h2{margin:0;font-size:15px}.saas-list-panel p{margin:4px 0 0;color:#8290a3;font-size:9px}.saas-search{width:280px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid #d8e1ec;border-radius:9px;color:#8794a5;background:#f9fbfd}.saas-search input{width:100%;height:38px;border:0;outline:0;background:transparent;font-size:10px}
.saas-company-list>a{padding:15px 20px;display:grid;grid-template-columns:48px minmax(170px,1.35fr) minmax(130px,.8fr) minmax(220px,1fr) auto 22px;gap:15px;align-items:center;border-bottom:1px solid #edf1f5;color:#26364b}.saas-company-list>a:last-child{border-bottom:0}.saas-company-list>a:hover{background:#f7faff}.saas-company-name span,.saas-company-name strong,.saas-company-name small{display:block}.saas-company-name span{color:#2870df;font-size:7px;font-weight:900;text-transform:uppercase}.saas-company-name strong{margin:3px 0;font-size:12px}.saas-company-name small{color:#8592a3;font-size:8px}.saas-usage>span{display:block;color:#65748a;font-size:8px}.saas-usage b{color:#26364b}.saas-usage>i{height:5px;margin-top:7px;display:block;overflow:hidden;border-radius:10px;background:#e9eef5}.saas-usage>i:after{width:var(--usage);height:100%;display:block;border-radius:10px;background:#2870df;content:""}.saas-mini-stats{display:flex;gap:13px}.saas-mini-stats span{color:#7c899a;font-size:8px}.saas-mini-stats b{color:#34445a}.saas-state{padding:6px 9px;border-radius:20px;font-size:8px;font-weight:900}.saas-state.active{color:#237250;background:#e8f7ef}.saas-state.passive{color:#a34b48;background:#fbeceb}.saas-row-arrow{color:#97a4b3;font-size:22px}
.saas-detail-heading{justify-content:flex-start}.saas-detail-heading>.tenant-logo{flex:0 0 auto}.tenant-logo.large{width:64px;height:64px;border-radius:16px;font-size:22px}.saas-detail-heading>div:nth-child(2){flex:1}.saas-detail-heading a{color:#2870df;font-size:9px;font-weight:800}.saas-detail-heading form{margin-left:auto}
.saas-detail-stats{margin-bottom:18px;display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.saas-detail-stats article{padding:14px}.saas-detail-stats strong{margin:7px 0 4px;font-size:17px}
.saas-settings-form{display:grid;gap:14px}.saas-settings-card{overflow:hidden;border:1px solid #dfe6ef;border-radius:15px;background:#fff}.saas-settings-card>header{padding:17px 20px;border-bottom:1px solid #e6ebf2;background:#fbfcfe}.saas-settings-card>header>div{display:grid;grid-template-columns:32px 1fr;align-items:center}.saas-settings-card>header span{width:28px;height:28px;grid-row:1/3;display:grid;place-items:center;border-radius:8px;color:#fff;background:#26374f;font-size:8px;font-weight:900}.saas-settings-card>header h2{margin:0;font-size:14px}.saas-settings-card>header p{margin:3px 0 0;color:#8290a2;font-size:8px}.saas-settings-card>.form-grid,.saas-settings-card>form>.form-grid{padding:20px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.brand-color-field input[type=color]{height:44px;padding:4px}.input-prefix{display:flex;border:1px solid #d8e0ea;border-radius:8px;overflow:hidden}.input-prefix>span{padding:0 10px;display:flex;align-items:center;color:#6f7e91;background:#eef2f7;font-size:10px}.input-prefix input{border:0!important;border-radius:0!important}.saas-settings-card .field>small{margin-top:5px;color:#8995a5;font-size:8px}
.saas-module-grid{padding:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.saas-module-grid label{min-height:74px;padding:12px;display:grid;grid-template-columns:0 38px 1fr;gap:10px;align-items:center;border:1px solid #dce4ee;border-radius:11px;cursor:pointer}.saas-module-grid label:has(input:checked){border-color:#a9c8f2;background:#f1f6fe}.saas-module-grid input{opacity:0}.saas-module-grid i{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#fff;background:#8795a8;font-size:9px;font-style:normal;font-weight:900}.saas-module-grid label:has(input:checked) i{background:#2870df}.saas-module-grid strong,.saas-module-grid small{display:block}.saas-module-grid strong{font-size:10px}.saas-module-grid small{margin-top:3px;color:#7e8b9d;font-size:8px}.saas-savebar{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;border:1px solid #d7e4f4;border-radius:12px;background:#eff6ff;position:sticky;z-index:20;bottom:12px}.saas-savebar span{color:#547095;font-size:9px;font-weight:700}
.saas-bottom-grid{margin-top:14px;display:grid;grid-template-columns:.85fr 1.15fr;gap:14px}.integration-health>div{padding:13px 20px;display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;border-bottom:1px solid #edf1f5}.integration-health>div:last-child{border-bottom:0}.integration-health>div>span{width:9px;height:9px;border-radius:50%}.integration-health .ok{background:#2ab175}.integration-health .missing{background:#e2a33e}.integration-health strong{font-size:9px}.integration-health small{color:#7c899b;font-size:8px}.tenant-admins>form{padding:0 20px 20px}.tenant-admins .check-row{margin-top:20px}.tenant-admins .btn-secondary-app{margin-left:20px}
@media(max-width:1100px){.saas-detail-stats{grid-template-columns:repeat(3,1fr)}.saas-company-list>a{grid-template-columns:48px 1.2fr .8fr auto 22px}.saas-mini-stats{display:none}.form-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.saas-topbar nav{display:none}.saas-metric-grid{grid-template-columns:repeat(2,1fr)}.saas-company-list>a{grid-template-columns:42px 1fr auto 18px}.saas-usage{display:none}.saas-bottom-grid{grid-template-columns:1fr}.saas-module-grid{grid-template-columns:1fr}.saas-hero{align-items:flex-start}.saas-search{width:210px}}
@media(max-width:580px){.saas-hero,.saas-list-panel>header,.saas-detail-heading{align-items:stretch;flex-direction:column}.saas-search{width:100%}.saas-metric-grid,.saas-detail-stats,.form-grid.four{grid-template-columns:1fr 1fr}.saas-company-list>a{padding:13px;grid-template-columns:40px 1fr auto}.saas-company-list .saas-row-arrow{display:none}.saas-detail-heading form{margin:0}.saas-detail-heading form button{width:100%}.saas-savebar{align-items:stretch;flex-direction:column;gap:10px}.saas-savebar button{width:100%}}
