*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f4f6fb;color:#111827}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:#0f172a;color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh}.brand{font-size:24px;font-weight:800;margin-bottom:28px}.nav-menu{display:flex;flex-direction:column;gap:8px}.nav-menu a{color:#cbd5e1;text-decoration:none;padding:12px 14px;border-radius:12px}.nav-menu a.active,.nav-menu a:hover{background:#1e293b;color:#fff}.main-shell{flex:1;min-width:0}.topbar{min-height:72px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px}.topbar strong{display:block;font-size:18px}.topbar span{color:#64748b;font-size:13px}.topbar form{display:flex;align-items:center;gap:12px}.content-shell{padding:28px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px;margin-bottom:22px;box-shadow:0 18px 40px rgba(15,23,42,.06)}.no-margin{margin-bottom:0}.card-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.card-header-row h3,.card h3{margin:0}.text-muted{color:#64748b;font-size:14px;margin:.35rem 0 0}.text-right{text-align:right}.text-danger{color:#dc2626}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px}.compact .stat-card{padding:16px}.stat-card span{display:block;color:#64748b;font-size:13px}.stat-card strong{font-size:34px;line-height:1.1}.compact .stat-card strong{font-size:26px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;gap:6px}.btn-primary{background:#111827;color:#fff}.btn-light{background:#f1f5f9;color:#111827}.btn-danger{background:#fee2e2;color:#991b1b}.btn-sm{padding:8px 11px;font-size:12px;border-radius:10px}.full{width:100%}.table-responsive{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 12px;border-bottom:1px solid #e5e7eb;font-size:14px;vertical-align:top}.table th{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table a{color:#111827;font-weight:700;text-decoration:none}.table-subtitle{display:block;color:#64748b;font-size:12px;margin-top:3px}.actions-cell{display:flex;justify-content:flex-end;gap:8px;align-items:center}.actions-cell form{display:inline}.badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}.badge-primary{background:#eef2ff;color:#3730a3}.badge-info{background:#e0f2fe;color:#075985}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-muted{background:#f1f5f9;color:#475569}.mini-counter{display:inline-flex;background:#f8fafc;border:1px solid #e5e7eb;color:#475569;border-radius:999px;padding:4px 8px;font-size:12px;margin:2px}.alert{padding:14px 16px;border-radius:14px;margin-bottom:16px}.alert-success{background:#ecfdf5;color:#065f46}.alert-danger{background:#fef2f2;color:#991b1b}.command-buttons{display:flex;gap:12px;flex-wrap:wrap}.inline-form-stage{position:relative;max-width:960px;margin:28px auto;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:28px;box-shadow:0 28px 70px rgba(15,23,42,.12)}.hidden{display:none!important}.form-close{position:absolute;top:16px;right:18px;border:0;background:#f1f5f9;border-radius:999px;width:36px;height:36px;font-size:22px;cursor:pointer}.form-card{background:#fff}.form-title-row h2{margin:0}.form-title-row p{color:#64748b;margin:6px 0 18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.filter-panel label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#374151}.form-grid input,.form-grid select,.form-grid textarea,.filter-panel input,.filter-panel select{border:1px solid #d1d5db;border-radius:12px;padding:12px;font-size:14px;background:#fff}.form-grid input:disabled{background:#f8fafc;color:#94a3b8}.form-grid textarea{min-height:96px}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.field-error{color:#dc2626;font-size:12px;font-weight:600}.filter-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:16px;margin:16px 0 20px}.filter-panel.four-cols{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-actions{display:flex;align-items:end;gap:10px}.compact-list{display:flex;flex-direction:column;gap:10px}.compact-item{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:#111827;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff}.compact-item:hover{border-color:#cbd5e1;background:#f8fafc}.compact-item small{display:block;color:#64748b;margin-top:3px}.empty-state{border:1px dashed #cbd5e1;border-radius:16px;padding:24px;text-align:center;background:#f8fafc;color:#64748b}.empty-state strong{display:block;color:#111827;margin-bottom:4px}.empty-state p{margin:0}.customer-profile-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:22px;align-items:start}.profile-heading{display:flex;align-items:center;gap:16px;margin-bottom:18px}.profile-heading h2{margin:0 0 8px}.avatar-circle{width:64px;height:64px;border-radius:20px;background:#111827;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.detail-list div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.detail-list dt{font-size:12px;color:#64748b;font-weight:800;margin-bottom:5px}.detail-list dd{margin:0;color:#111827}.profile-actions{display:flex;gap:10px;margin-top:18px}.profile-side{display:flex;flex-direction:column;gap:22px}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.timeline-list{display:flex;flex-direction:column;gap:10px}.timeline-item{border-left:3px solid #cbd5e1;background:#f8fafc;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.timeline-item span{color:#64748b;font-size:13px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#1e293b)}.login-card{width:min(420px,92vw);background:#fff;border-radius:24px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-card h1{margin:0;font-size:32px}.login-card p{color:#64748b;margin-bottom:22px}.login-card label{display:block;margin-top:14px;font-weight:700}.login-card input{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:12px;margin-top:7px}.checkbox{display:flex!important;align-items:center;gap:8px}.checkbox input{width:auto}@media(max-width:1100px){.stat-grid,.stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.customer-profile-grid{grid-template-columns:1fr}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-panel,.filter-panel.four-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.span-4{grid-column:span 2}}@media(max-width:900px){.sidebar{display:none}.grid-2,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.content-shell{padding:16px}.topbar{padding:14px 16px}.card-header-row{flex-direction:column}.actions-cell{justify-content:flex-start}.profile-stats,.stat-grid,.stat-grid.compact{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.filter-panel,.filter-panel.four-cols{grid-template-columns:1fr}.span-4{grid-column:auto}.filter-actions{align-items:stretch;flex-wrap:wrap}.form-actions,.profile-actions{flex-direction:column}.btn{width:100%}}
/* ConsBase v1.2 - License activation */
.license-mini-card{display:block;text-decoration:none;color:#fff;background:#1e293b;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;margin:-10px 0 18px}.license-mini-card.warning{background:#451a03}.license-mini-card span{display:block;color:#cbd5e1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.license-mini-card strong{display:block;margin-top:4px;font-size:15px}.license-mini-card small{display:block;margin-top:4px;color:#94a3b8}.license-page-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;align-items:start}.license-hero-card h2{font-size:30px;margin:14px 0 8px}.license-form{margin-top:22px}.license-test-note{margin-top:20px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px;color:#475569}.license-test-note code,.license-detail-list code{background:#f1f5f9;border:1px solid #e5e7eb;border-radius:8px;padding:2px 6px;font-size:12px;word-break:break-all}.license-plan-list{display:flex;flex-direction:column;gap:12px}.license-plan-item{border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:14px}.license-plan-item strong{display:block}.license-plan-item span{display:block;color:#64748b;font-size:13px;margin-top:4px}.license-plan-item small{display:block;color:#475569;margin-top:8px;line-height:1.5}.license-module-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.license-warning-card{max-width:760px;margin:0 auto}.license-warning-card h2{margin:14px 0 8px;font-size:28px}@media(max-width:1100px){.license-page-grid{grid-template-columns:1fr}}@media(max-width:900px){.license-mini-card{display:none}.license-hero-card h2{font-size:24px}}


/* ConsBase v2.0 - Projects */
.project-profile-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:start}.project-main-card h2{margin:0;font-size:28px}.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.project-progress-panel{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:16px;margin:18px 0}.project-progress-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.progress-line{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;min-width:110px}.progress-line span{display:block;height:100%;background:#111827;border-radius:999px}.progress-line.large{height:14px}.mini-form{display:grid;gap:12px;margin-top:14px}.mini-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#374151}.mini-form input,.mini-form select,.mini-form textarea{border:1px solid #d1d5db;border-radius:12px;padding:12px;font-size:14px;background:#fff}.mini-form textarea{min-height:90px}.member-row{align-items:flex-start}.timeline-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-item p{margin:0;color:#334155;line-height:1.5}.project-quick-links{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:1100px){.project-profile-grid{grid-template-columns:1fr}}@media(max-width:900px){.project-main-card h2{font-size:23px}.timeline-head{align-items:flex-start;flex-direction:column}}

/* ConsBase v3.0 - Project Tasks */
.task-profile-grid .project-main-card h2{font-size:28px}.task-list .task-item{align-items:flex-start}.task-list .task-item a{text-decoration:none;color:#111827}.task-list .task-item.is-overdue,.task-overdue-row{background:#fff7ed}.danger-text{color:#dc2626!important;font-weight:800}.task-kanban-lite{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.task-column{border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:12px}.task-column h4{margin:0 0 10px}.task-card-mini{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin-bottom:10px}.task-card-mini strong{display:block}.task-card-mini small{display:block;color:#64748b;margin-top:4px}.task-meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}@media(max-width:1100px){.task-kanban-lite{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.task-profile-grid .project-main-card h2{font-size:23px}.task-kanban-lite{grid-template-columns:1fr}}

/* ConsBase v4.0 - Quotes & Contracts */
.quote-profile-grid,.contract-profile-grid{align-items:start}.quote-main-card h2,.contract-main-card h2{font-size:28px;margin:0}.quote-total-card span{display:block;color:#64748b;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.quote-total-card strong{display:block;font-size:28px;line-height:1.15;margin-top:6px}.quote-total-card small{display:block;color:#64748b;margin-top:8px;line-height:1.45}.quote-summary-box{margin-top:16px;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff}.quote-summary-box div{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e5e7eb}.quote-summary-box div:last-child{border-bottom:0;background:#f8fafc}.quote-summary-box span{color:#64748b;font-weight:700}.quote-summary-box strong{font-size:16px}.quote-expired-row{background:#fff7ed}.finance-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-mini-card{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:13px}.finance-mini-card span{display:block;color:#64748b;font-size:12px;font-weight:800}.finance-mini-card strong{display:block;margin-top:5px}.contract-payment-card{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fff}.contract-payment-card + .contract-payment-card{margin-top:10px}@media(max-width:900px){.quote-main-card h2,.contract-main-card h2{font-size:23px}.finance-mini-grid{grid-template-columns:1fr}}

/* ConsBase v5.0 - Reports & Activity Logs */
.report-filter-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.report-filter-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#374151}.report-filter-form input{border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;font-size:14px;background:#fff}.report-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.report-module-grid .card{margin-bottom:0}.report-module-card{text-decoration:none;color:#111827;display:block;transition:transform .12s ease,border-color .12s ease}.report-module-card:hover{transform:translateY(-2px);border-color:#cbd5e1}.report-module-card h3{margin:14px 0 8px}.report-module-card strong{display:block;margin-top:14px;font-size:20px}.report-kpi-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.report-kpi-list div,.report-breakdown div{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.report-kpi-list span,.report-breakdown span{color:#64748b;font-size:13px;font-weight:800}.report-kpi-list strong,.report-breakdown strong{font-size:20px}.report-breakdown{display:flex;flex-direction:column;gap:10px;margin-top:14px}.pagination-wrap{margin-top:18px}.pagination-wrap nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pagination-wrap a,.pagination-wrap span{font-size:13px;color:#475569}.report-period-note{color:#64748b;font-size:13px}@media(max-width:900px){.report-filter-form{align-items:stretch}.report-filter-form label,.report-filter-form .btn{width:100%}.report-actions{width:100%;justify-content:flex-start}.report-kpi-list{grid-template-columns:1fr}.report-module-card:hover{transform:none}}

/* ConsBase v6.0 - Users, Roles & Permissions */
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.role-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:18px}.role-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.role-card h3{margin:0}.role-card p{color:#475569;line-height:1.5}.role-meta-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.permission-chip-wrap{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.role-actions{justify-content:flex-start}.permission-editor{margin-top:20px}.permission-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.permission-group-card{border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:14px}.permission-group-card h4{margin:0 0 12px}.permission-list{display:flex;flex-direction:column;gap:8px}.permission-check{display:flex;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:10px;font-size:13px}.permission-check input{margin-top:3px}.permission-check strong{display:block;color:#111827}.permission-check small{display:block;color:#64748b;margin-top:3px}.settings-hint{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:16px;padding:14px;color:#475569;line-height:1.5}@media(max-width:1100px){.role-grid,.permission-group-grid{grid-template-columns:1fr}}@media(max-width:900px){.role-card-head{flex-direction:column}.permission-check{font-size:14px}}

/* ConsBase v7.0 - System Settings & Notifications */
.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.notification-toplink{display:inline-flex;align-items:center;gap:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;text-decoration:none;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.notification-toplink strong{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#111827;color:#fff;font-size:12px}.notification-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.notification-item{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:16px}.notification-item.is-unread{border-color:#cbd5e1;background:#f8fafc}.notification-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.notification-head small{color:#64748b;margin-left:auto}.notification-main h3{margin:0 0 6px}.notification-main p{margin:0;color:#475569;line-height:1.55}.notification-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.notification-actions form{display:inline-flex}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-section{border:1px solid #e5e7eb;border-radius:18px;background:#fff;overflow:hidden}.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.settings-section-head h3{margin:0}.settings-field-list{display:flex;flex-direction:column}.settings-field{display:grid;grid-template-columns:minmax(0,.85fr) minmax(220px,1fr);gap:14px;align-items:start;padding:14px 16px;border-bottom:1px solid #eef2f7}.settings-field:last-child{border-bottom:0}.settings-field span strong{display:block;color:#111827}.settings-field span small{display:block;color:#64748b;margin-top:4px;line-height:1.45}.settings-field input,.settings-field select,.settings-field textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;background:#fff;font-size:14px}.settings-field textarea{min-height:92px;resize:vertical}@media(max-width:1100px){.settings-grid{grid-template-columns:1fr}.settings-field{grid-template-columns:1fr}}@media(max-width:900px){.topbar-actions{width:100%;justify-content:flex-start}.topbar form{width:100%;justify-content:space-between}.notification-head small{width:100%;margin-left:0}.notification-actions .btn,.notification-actions form{width:100%}.notification-toplink{width:100%;justify-content:center}}


/* ConsBase v8.0 - Documents */
.document-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}
.document-type-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 12px;
    font-weight: 700;
}
.document-size {
    font-size: 12px;
    color: #64748b;
}
.document-preview-box {
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    padding: 22px;
    background: #f8fafc;
    text-align: center;
}
.document-preview-box strong {
    display: block;
    font-size: 18px;
    margin-bottom: 6px;
}
.document-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.document-meta-grid div {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 12px;
    background: #fff;
}
.document-meta-grid span {
    display: block;
    color: #64748b;
    font-size: 12px;
    margin-bottom: 4px;
}
.document-meta-grid strong {
    font-size: 14px;
    color: #0f172a;
}
.context-chip {
    display: inline-flex;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
}
.file-upload-note {
    margin-top: 8px;
    color: #64748b;
    font-size: 12px;
}
@media (max-width: 900px) {
    .document-kpi-grid,
    .document-meta-grid {
        grid-template-columns: 1fr;
    }
}

/* ConsBase v9.0 - Procurement, Suppliers & Materials */
.procurement-kpi-grid .stat-card strong{font-size:22px}.procurement-money{font-weight:900;color:#0f172a}.procurement-split-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:22px;align-items:start}.procurement-mini-card{border:1px solid #e5e7eb;background:#f8fafc;border-radius:16px;padding:14px}.procurement-mini-card span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.procurement-mini-card strong{display:block;margin-top:5px;font-size:18px}.material-low-stock{background:#fff7ed}.purchase-total-box{border:1px solid #e5e7eb;background:#f8fafc;border-radius:18px;padding:16px}.purchase-total-box span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.purchase-total-box strong{display:block;font-size:28px;margin-top:6px}.procurement-inline-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.procurement-inline-tabs a{display:inline-flex;text-decoration:none;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:9px 13px;font-weight:800;font-size:13px}.procurement-inline-tabs a.active,.procurement-inline-tabs a:hover{background:#111827;color:#fff;border-color:#111827}@media(max-width:1100px){.procurement-split-grid{grid-template-columns:1fr}}@media(max-width:900px){.procurement-inline-tabs a{width:100%;justify-content:center}.procurement-kpi-grid .stat-card strong{font-size:20px}}

/* ConsBase v10.0 - Stabilization, UI Standardization & Product Hardening */
:root{
    --cb-bg:#f4f6fb;
    --cb-surface:#ffffff;
    --cb-text:#0f172a;
    --cb-muted:#64748b;
    --cb-border:#e5e7eb;
    --cb-soft:#f8fafc;
    --cb-primary:#111827;
    --cb-primary-2:#1e293b;
    --cb-danger:#dc2626;
    --cb-success:#16a34a;
    --cb-warning:#d97706;
    --cb-info:#2563eb;
}
body{background:var(--cb-bg);color:var(--cb-text)}
.card{border-color:var(--cb-border)}
.brand-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.brand-wrap .brand{margin-bottom:0}.nav-section{display:block;color:#94a3b8;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin:14px 8px 4px}.sidebar{overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:#334155;border-radius:999px}.mobile-nav-toggle,.mobile-nav-close{display:none}.mobile-sidebar-backdrop{display:none}.topbar-title-block{min-width:0}.env-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;border:1px solid var(--cb-border);background:#fff;color:#334155;text-transform:uppercase}.env-pill.local{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.env-pill.prod{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.license-toplink span{font-weight:800}.product-hero,.product-health-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff,#f8fafc);overflow:hidden;position:relative}.product-hero:after,.product-health-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:220px;height:220px;border-radius:999px;background:rgba(15,23,42,.05)}.product-hero h2,.product-health-hero h2{margin:6px 0 8px;font-size:30px;line-height:1.16;letter-spacing:-.03em}.product-hero p,.product-health-hero p{max-width:760px;color:var(--cb-muted);line-height:1.55;margin:0}.hero-kicker{display:inline-flex;border-radius:999px;background:#eef2ff;color:#3730a3;padding:5px 10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.executive-grid .stat-card{min-height:112px}.executive-money-grid{margin-bottom:22px}.money-card span{display:block;color:var(--cb-muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.money-card strong{display:block;font-size:27px;margin-top:6px}.money-card small{display:block;color:var(--cb-muted);margin-top:8px;line-height:1.45}.progress-line.small{margin-top:7px;height:8px}.health-score-ring{width:138px;height:138px;border-radius:999px;background:conic-gradient(#111827 var(--score), #e5e7eb 0);display:grid;place-items:center;position:relative;flex:0 0 auto}.health-score-ring:before{content:"";position:absolute;inset:12px;background:#fff;border-radius:999px}.health-score-ring strong,.health-score-ring span{position:relative;z-index:1;text-align:center}.health-score-ring strong{font-size:30px}.health-score-ring span{display:block;color:var(--cb-muted);font-size:12px;font-weight:900;text-transform:uppercase}.health-check-list{display:flex;flex-direction:column;gap:10px}.health-check-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid var(--cb-border);border-radius:16px;padding:14px;background:#fff}.health-check-item.passed{background:#f0fdf4;border-color:#bbf7d0}.health-check-item.warning{background:#fffbeb;border-color:#fde68a}.health-check-item.failed{background:#fef2f2;border-color:#fecaca}.health-check-item strong{display:block}.health-check-item p{margin:5px 0 0;color:#475569;line-height:1.45}.code-block{background:#0f172a;color:#e2e8f0;border-radius:16px;padding:16px;overflow:auto;font-size:13px;line-height:1.6}.table tbody tr:hover{background:#f8fafc}.btn:focus,.nav-menu a:focus,.notification-toplink:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}.btn[disabled],button[disabled]{opacity:.6;cursor:not-allowed}.cb-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.cb-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.cb-section-title{margin:0 0 12px;font-size:18px}.cb-help-text{color:var(--cb-muted);font-size:13px;line-height:1.5}.cb-divider{height:1px;background:var(--cb-border);margin:18px 0}.cb-inline-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cb-pill{display:inline-flex;align-items:center;border-radius:999px;background:#f1f5f9;color:#334155;padding:5px 9px;font-size:12px;font-weight:800}.mobile-nav-close{border:0;background:#1e293b;color:#fff;border-radius:10px;width:36px;height:36px;font-size:22px;line-height:1}.mobile-nav-toggle{border:1px solid var(--cb-border);background:#fff;border-radius:12px;width:42px;height:42px;font-size:20px}.sidebar.is-open{display:block;position:fixed;left:0;top:0;bottom:0;z-index:60;height:100vh}.mobile-sidebar-backdrop.is-open{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:50}.danger-text{color:#dc2626!important}.success-text{color:#16a34a!important}.warning-text{color:#d97706!important}
@media(max-width:1100px){.product-hero,.product-health-hero{align-items:flex-start}.product-hero h2,.product-health-hero h2{font-size:26px}.executive-money-grid{grid-template-columns:1fr}.hero-actions{width:100%}}
@media(max-width:900px){.mobile-nav-toggle,.mobile-nav-close{display:inline-grid;place-items:center}.topbar{align-items:flex-start}.topbar-title-block{flex:1}.product-hero,.product-health-hero{flex-direction:column}.hero-actions,.hero-actions .btn{width:100%}.health-score-ring{width:118px;height:118px}.health-check-item{flex-direction:column}.health-check-item .badge{align-self:flex-start}.sidebar{width:min(310px,88vw)}.brand-wrap{margin-bottom:16px}.nav-section{margin-top:18px}.topbar-actions{width:100%}.env-pill{width:100%;justify-content:center}}

/* ConsBase v10.1 - Demo Data, UX Polish & Release Candidate */
.breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;color:#64748b;font-size:13px}.breadcrumbs a{color:#334155;text-decoration:none;font-weight:800}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs strong{color:#0f172a}.app-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:26px;padding-top:16px;border-top:1px solid var(--cb-border,#e5e7eb);color:#64748b;font-size:12px}.alert{border-radius:16px;padding:13px 15px;margin-bottom:18px;border:1px solid #e5e7eb;background:#fff}.alert-success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.empty-state{text-align:center;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:18px;padding:28px;color:#334155}.empty-state-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;margin:0 auto 10px;background:#eef2ff;color:#3730a3;font-weight:900}.empty-state strong{display:block;font-size:18px}.empty-state p{color:#64748b;margin:8px auto 14px;max-width:520px;line-height:1.5}.quick-start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.quick-start-card{position:relative;overflow:hidden;min-height:220px}.quick-start-card h3{margin:10px 0 8px}.quick-start-card p{color:#64748b;line-height:1.55}.quick-start-card a{display:inline-flex;margin-top:8px;color:#111827;font-weight:900;text-decoration:none}.quick-start-step{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#111827;color:#fff;font-weight:900}.release-steps{margin:0;padding-left:20px}.release-steps li{margin:10px 0;line-height:1.55}.release-check-list{display:flex;flex-direction:column;gap:10px}.release-check-item{border:1px solid #e5e7eb;border-radius:16px;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:#fff}.release-check-item.is-ready{background:#f8fff9;border-color:#bbf7d0}.release-check-item.is-missing{background:#fff7f7;border-color:#fecaca}.release-check-item strong{display:block}.release-check-item span:not(.badge){display:block;color:#64748b;font-size:12px;margin-top:4px}.release-db-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.release-db-item{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px}.release-db-item span{font-size:13px;color:#475569;font-weight:800}.release-db-item strong{font-size:12px;border-radius:999px;padding:4px 8px}.release-db-item.ok strong{background:#dcfce7;color:#166534}.release-db-item.missing strong{background:#fee2e2;color:#991b1b}@media(max-width:1100px){.quick-start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.release-db-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.quick-start-grid,.release-db-grid{grid-template-columns:1fr}.release-check-item{flex-direction:column}.app-footer{flex-direction:column}.breadcrumbs{font-size:12px}}

/* ConsBase v12.0 Local Suite */
.qa-stats-grid .stat-card strong { font-size: 24px; }
.qa-check-list { display: grid; gap: 10px; }
.qa-check-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; }
.qa-check-item.ok { border-color: #bbf7d0; background: #f0fdf4; }
.qa-check-item.error { border-color: #fecaca; background: #fef2f2; }
.qa-check-item span { font-size: 12px; font-weight: 700; text-transform: uppercase; color: #64748b; }
.mini-pill { display: inline-flex; align-items: center; padding: 4px 8px; margin: 2px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #f1f5f9; color: #334155; }
.mini-pill.ok { background: #dcfce7; color: #166534; }
.mini-pill.error { background: #fee2e2; color: #991b1b; }
.detail-list.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vertical-actions { display: grid; gap: 8px; }
.acceptance-checklist { margin-top: 20px; display: grid; gap: 10px; }
.acceptance-profile-grid .quote-total-card strong { font-size: 26px; }
.filter-form { display: grid; grid-template-columns: 1.5fr 1fr 1fr auto; gap: 10px; align-items: end; margin: 16px 0; }
.filter-form input, .filter-form select { width: 100%; min-height: 40px; border: 1px solid #dbe3ef; border-radius: 12px; padding: 8px 10px; }
.profile-actions.vertical-actions form { width: 100%; }
@media (max-width: 900px) { .filter-form { grid-template-columns: 1fr; } .detail-list.compact { grid-template-columns: 1fr; } }

/* ConsBase v12.0.1 — Consistency Hardening */
.export-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.export-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #fff;
}
.export-card h4 {
    margin: 0 0 6px;
    font-size: 15px;
}
.export-card p {
    margin: 0 0 10px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.5;
}
@media (max-width: 640px) {
    .export-card {
        flex-direction: column;
    }
    .export-card .btn {
        width: 100%;
    }
}

/* ConsBase v12.1 / v12.2 / v13.0 Standard Roadmap */
.cb-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px;padding:18px;border:1px solid var(--cb-border,#e5e7eb);border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc)}
.cb-page-header h1{margin:4px 0 6px;font-size:26px;letter-spacing:-.03em;color:#0f172a}.cb-page-header p{margin:0;color:#64748b;line-height:1.55;max-width:780px}.cb-kicker{display:inline-flex;border-radius:999px;padding:4px 9px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.cb-page-actions{display:flex;gap:10px;flex-wrap:wrap}.cb-panel{border:1px solid var(--cb-border,#e5e7eb);border-radius:18px;background:#fff;padding:16px}.cb-progress{height:9px;border-radius:999px;background:#e5e7eb;overflow:hidden;min-width:110px}.cb-progress span{display:block;height:100%;border-radius:999px;background:#111827}.table-actions{white-space:nowrap;text-align:right}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.span-2{grid-column:span 2}.badge-secondary{background:#f1f5f9;color:#334155}.badge-info{background:#dbeafe;color:#1d4ed8}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#dcfce7;color:#166534}.form-group small.danger-text{display:block;margin-top:5px}.form-group input[disabled]{background:#f8fafc;color:#64748b}.qa-check-item strong{display:block}.qa-check-item span{word-break:break-word}@media(max-width:1000px){.grid-3,.grid-4{grid-template-columns:1fr}.span-2{grid-column:auto}.cb-page-header{flex-direction:column}.cb-page-actions,.cb-page-actions .btn{width:100%}.form-actions{flex-direction:column}.form-actions .btn,.form-actions button{width:100%}}

/* ConsBase v15.1 — Excel Export polish */
.export-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 110px;
}
.export-actions .btn {
    justify-content: center;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .export-actions {
        width: 100%;
        flex-direction: row;
    }
    .export-actions .btn {
        flex: 1;
    }
}

/* ConsBase v19.0 — Mobile Field App */
.field-tabbar{display:flex;gap:8px;overflow-x:auto;padding:8px 0 14px;margin-bottom:12px;scrollbar-width:thin}.field-tabbar a{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;text-decoration:none;font-size:13px;font-weight:800;padding:9px 13px}.field-tabbar a.active{background:#111827;color:#fff;border-color:#111827}.field-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.field-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.field-action-card,.field-project-card{display:block;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:16px;text-decoration:none;color:#0f172a;transition:.18s ease}.field-action-card:hover,.field-project-card:hover{border-color:#94a3b8;transform:translateY(-1px)}.field-action-card strong,.field-project-card strong{display:block;font-size:15px;margin-bottom:6px}.field-action-card span,.field-project-card span,.field-project-card small{display:block;color:#64748b;font-size:13px;line-height:1.45}.field-project-card .cb-progress{margin:12px 0 8px}.field-project-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.field-list{display:grid;gap:10px}.field-list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:12px}.field-list-item strong{display:block}.field-list-item span{display:block;color:#64748b;font-size:13px;margin-top:3px}.field-card-list{display:grid;gap:14px}.field-task-card{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:15px}.field-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.field-card-head strong{display:block}.field-card-head span{display:block;color:#64748b;font-size:13px;margin-top:4px}.field-task-card p{color:#334155;line-height:1.55;margin:12px 0 0}.field-inline-form{display:grid;grid-template-columns:1fr 140px auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.field-inline-form label,.field-mobile-form label{display:block;font-weight:800;font-size:12px;color:#475569;margin-bottom:6px}.field-inline-form input,.field-inline-form select,.field-mobile-form input,.field-mobile-form select,.field-mobile-form textarea{width:100%;border:1px solid #dbe3ef;border-radius:12px;padding:9px 10px;min-height:42px;background:#fff}.field-mobile-form textarea{min-height:90px}.field-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.field-form-stack{display:grid;gap:14px;margin-top:14px}.field-check{display:flex!important;align-items:center;gap:8px;margin-top:14px;font-size:14px!important}.field-check input{width:auto!important;min-height:auto!important}.field-hero-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc);padding:16px;margin-bottom:18px}.field-hero-card span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.field-hero-card strong{display:block;margin-top:5px;color:#0f172a}.danger-text{color:#991b1b;font-weight:700}.field-desktop-grid{margin-bottom:18px}@media(max-width:1100px){.field-quick-grid,.field-action-grid,.field-form-grid,.field-hero-card{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.field-quick-grid,.field-action-grid,.field-form-grid,.field-hero-card{grid-template-columns:1fr}.field-inline-form{grid-template-columns:1fr}.field-card-head,.field-list-item{align-items:flex-start;flex-direction:column}.field-tabbar{margin-left:-4px;margin-right:-4px}.field-tabbar a{font-size:12px;padding:8px 11px}.field-action-card,.field-project-card,.field-task-card{border-radius:16px}.field-desktop-grid{display:grid;grid-template-columns:1fr}.content-shell{padding-bottom:86px}}

/* ConsBase v20.0 Commercial License Server */
.checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}.checkbox-card{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:10px;font-weight:700;color:#334155}.checkbox-card input{width:auto!important;min-height:auto!important}.checkbox-card span{font-size:13px}@media(max-width:1100px){.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.checkbox-grid{grid-template-columns:1fr}}


/* ===== LS-03 License Server SaaS UI Redesign ===== */
:root{
    --ls03-ink:#0f172a;
    --ls03-muted:#64748b;
    --ls03-line:#dbe7f5;
    --ls03-blue:#2563eb;
    --ls03-cyan:#06b6d4;
    --ls03-violet:#6366f1;
    --ls03-purple:#a855f7;
    --ls03-green:#22c55e;
    --ls03-red:#ef4444;
    --ls03-amber:#f59e0b;
    --ls03-shadow:0 22px 70px rgba(15,23,42,.10);
    --ls03-soft:0 14px 38px rgba(15,23,42,.065);
}

body{
    background:
        radial-gradient(circle at 22% 0%,rgba(99,102,241,.10),transparent 26%),
        radial-gradient(circle at 88% 10%,rgba(6,182,212,.09),transparent 28%),
        linear-gradient(180deg,#f8fafc 0%,#eef5ff 44%,#f8fafc 100%);
}

.ls03-hero,
.ls03-detail-hero,
.ls03-health-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,380px);
    gap:20px;
    align-items:stretch;
    margin-bottom:20px;
    padding:30px;
    border:1px solid rgba(219,231,245,.96);
    border-radius:32px;
    background:
        radial-gradient(circle at 0% 0%,rgba(99,102,241,.13),transparent 30%),
        radial-gradient(circle at 100% 0%,rgba(6,182,212,.12),transparent 30%),
        linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92));
    box-shadow:var(--ls03-shadow);
    overflow:hidden;
}

.ls03-hero::after,
.ls03-detail-hero::after,
.ls03-health-hero::after{
    content:"";
    position:absolute;
    right:-90px;
    bottom:-110px;
    width:260px;
    height:260px;
    border-radius:999px;
    background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(6,182,212,.08));
    pointer-events:none;
}

.ls03-hero-copy,
.ls03-detail-hero > div:first-child,
.ls03-health-hero > div:first-child{
    position:relative;
    z-index:1;
    display:grid;
    align-content:center;
    gap:14px;
}

.ls03-eyebrow{
    width:max-content;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border:1px solid #bfdbfe;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ls03-eyebrow i{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.14);
}

.ls03-eyebrow.dark{
    background:rgba(255,255,255,.12);
    color:#dbeafe;
    border-color:rgba(255,255,255,.18);
}

.ls03-hero h2,
.ls03-detail-hero h2,
.ls03-health-hero h2{
    margin:0;
    color:#0f172a;
    font-size:clamp(34px,4vw,56px);
    line-height:1;
    letter-spacing:-.075em;
}

.ls03-hero p,
.ls03-detail-hero p,
.ls03-health-hero p{
    margin:0;
    max-width:760px;
    color:#64748b;
    font-size:15.5px;
    line-height:1.72;
}

.ls03-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:4px;
}

.ls03-command-card,
.ls03-client-status-card,
.ls03-license-status-card,
.ls03-health-score{
    position:relative;
    z-index:1;
    display:grid;
    gap:14px;
    align-content:center;
    padding:22px;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(circle at 18% 10%,rgba(168,85,247,.28),transparent 34%),
        radial-gradient(circle at 86% 0%,rgba(14,165,233,.22),transparent 28%),
        linear-gradient(145deg,#081120,#111827 62%,#0f172a);
    box-shadow:0 22px 66px rgba(15,23,42,.18);
}

.ls03-command-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.ls03-command-head strong,
.ls03-command-card code,
.ls03-client-status-card span,
.ls03-license-status-card span{
    color:#fff;
}

.ls03-command-head span,
.ls03-client-status-card small,
.ls03-license-status-card small{
    color:rgba(226,232,240,.72);
    font-size:12px;
}

.ls03-command-card code{
    display:block;
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.10);
    word-break:break-all;
}

.ls03-security-stack{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.ls03-security-stack span{
    padding:7px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#dbeafe;
    font-size:11px;
    font-weight:800;
}

.ls03-kpi-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.ls03-kpi-grid.four{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.ls03-kpi-card{
    position:relative;
    min-height:140px;
    display:grid;
    align-content:center;
    gap:8px;
    padding:18px;
    border:1px solid #dbe7f5;
    border-radius:24px;
    background:rgba(255,255,255,.86);
    box-shadow:var(--ls03-soft);
    overflow:hidden;
}

.ls03-kpi-card::after{
    content:"";
    position:absolute;
    right:-24px;
    top:-34px;
    width:96px;
    height:96px;
    border-radius:999px;
    background:rgba(37,99,235,.08);
}

.ls03-kpi-card.success::after{background:rgba(34,197,94,.11)}
.ls03-kpi-card.danger::after{background:rgba(239,68,68,.10)}
.ls03-kpi-card.warning::after{background:rgba(245,158,11,.12)}
.ls03-kpi-card.info::after{background:rgba(6,182,212,.11)}

.ls03-kpi-card span{
    color:#64748b;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ls03-kpi-card strong{
    color:#0f172a;
    font-size:32px;
    line-height:1;
    letter-spacing:-.06em;
}

.ls03-kpi-card small{
    color:#64748b;
    font-size:12px;
    font-weight:700;
}

.ls03-ops-grid,
.ls03-two-col{
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
    gap:20px;
    margin-bottom:20px;
}

.ls03-health-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-bottom:20px;
}

.ls03-panel{
    border:1px solid #dbe7f5;
    border-radius:28px;
    background:rgba(255,255,255,.88);
    box-shadow:var(--ls03-soft);
    backdrop-filter:blur(14px);
    padding:22px;
}

.ls03-panel-large{
    min-width:0;
}

.ls03-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}

.ls03-panel-head h3{
    margin:0;
    color:#0f172a;
    font-size:20px;
    letter-spacing:-.04em;
}

.ls03-panel-head p{
    margin:5px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

.ls03-license-list{
    display:grid;
    gap:10px;
}

.ls03-license-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#fff;
    color:inherit;
    transition:.2s ease;
}

.ls03-license-row:hover{
    transform:translateY(-2px);
    border-color:#bfdbfe;
    box-shadow:0 14px 28px rgba(37,99,235,.08);
}

.ls03-license-row > div:first-child{
    display:grid;
    gap:5px;
    min-width:0;
}

.ls03-license-row strong{
    color:#0f172a;
    font-size:14px;
}

.ls03-license-key,
.ls03-license-key-hero{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    color:#2563eb;
    font-size:12px;
    word-break:break-all;
}

.ls03-license-key-hero{
    max-width:760px;
    padding:12px 14px;
    border:1px solid #dbe7f5;
    border-radius:16px;
    background:rgba(255,255,255,.76);
    color:#334155!important;
}

.ls03-license-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}

.ls03-license-meta > span{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:#f8fafc;
    color:#475569;
    font-size:12px;
    font-weight:800;
}

.ls03-verify-feed{
    display:grid;
    gap:12px;
}

.ls03-verify-feed.compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.ls03-verify-item{
    display:flex;
    gap:12px;
    padding:13px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
}

.ls03-verify-item div{
    display:grid;
    gap:4px;
    min-width:0;
}

.ls03-verify-item strong{
    color:#0f172a;
    font-size:13px;
    text-transform:uppercase;
}

.ls03-verify-item p{
    margin:0;
    color:#475569;
    font-size:13px;
    line-height:1.45;
}

.ls03-verify-item small{
    color:#94a3b8;
    font-size:11px;
}

.ls03-log-dot{
    width:12px;
    height:12px;
    flex:0 0 auto;
    border-radius:999px;
    margin-top:3px;
    background:#94a3b8;
    box-shadow:0 0 0 4px rgba(148,163,184,.14);
}

.ls03-log-dot.active,
.ls03-log-dot.trial,
.ls03-log-dot.license-valid{
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.14);
}

.ls03-log-dot.denied,
.ls03-log-dot.invalid,
.ls03-log-dot.revoked,
.ls03-log-dot.expired,
.ls03-log-dot.domain-denied,
.ls03-log-dot.fingerprint-mismatch,
.ls03-log-dot.missing-fingerprint,
.ls03-log-dot.unauthorized{
    background:#ef4444;
    box-shadow:0 0 0 4px rgba(239,68,68,.14);
}

.ls03-log-dot.suspended,
.ls03-log-dot.suspicious,
.ls03-log-dot.warning{
    background:#f59e0b;
    box-shadow:0 0 0 4px rgba(245,158,11,.16);
}

.ls03-api-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);
    gap:22px;
    align-items:center;
    margin-bottom:20px;
    padding:26px;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(circle at 0% 0%,rgba(168,85,247,.26),transparent 30%),
        radial-gradient(circle at 100% 0%,rgba(14,165,233,.20),transparent 28%),
        linear-gradient(145deg,#07111f,#111827 62%,#0f172a);
    box-shadow:var(--ls03-shadow);
}

.ls03-api-card h3{
    margin:14px 0 8px;
    color:#fff;
    font-size:28px;
    letter-spacing:-.06em;
}

.ls03-api-card p{
    margin:0;
    color:rgba(226,232,240,.74);
    line-height:1.65;
}

.ls03-api-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.ls03-api-grid div{
    display:grid;
    gap:5px;
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.10);
}

.ls03-api-grid strong{
    color:#fff;
    font-size:13px;
}

.ls03-api-grid span{
    color:#dbeafe;
    font-size:12px;
}

.ls03-client-status-card .badge,
.ls03-license-status-card .badge{
    width:max-content;
    background:rgba(255,255,255,.14);
    color:#fff;
    border-color:rgba(255,255,255,.18);
}

.ls03-detail-list{
    display:grid;
    gap:10px;
    margin:0;
}

.ls03-detail-list div{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:12px;
    padding:12px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
}

.ls03-detail-list dt{
    color:#64748b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.ls03-detail-list dd{
    margin:0;
    color:#0f172a;
    font-weight:750;
    word-break:break-word;
}

.ls03-domain-stack,
.ls03-module-grid{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.ls03-domain-stack span,
.ls03-module-grid span{
    display:inline-flex;
    padding:9px 11px;
    border:1px solid #dbe7f5;
    border-radius:999px;
    background:#fff;
    color:#334155;
    font-size:12px;
    font-weight:800;
}

.ls03-domain-stack .muted{
    color:#94a3b8;
}

.ls03-note-box{
    margin-top:16px;
    padding:14px;
    border-radius:18px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}

.ls03-note-box strong{
    display:block;
    margin-bottom:6px;
}

.ls03-note-box p{
    margin:0;
    color:#64748b;
    line-height:1.55;
}

.ls03-extend-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) 120px;
    gap:10px;
    align-items:end;
    margin-top:16px;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#f8fafc;
}

.ls03-extend-form label{
    grid-column:1/-1;
    color:#64748b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.ls03-extend-form input{
    min-height:42px;
    border:1px solid #dbe7f5;
    border-radius:14px;
    padding:0 12px;
}

.ls03-activation-timeline{
    position:relative;
    display:grid;
    gap:14px;
}

.ls03-activation-timeline::before{
    content:"";
    position:absolute;
    left:17px;
    top:22px;
    bottom:22px;
    width:2px;
    border-radius:999px;
    background:linear-gradient(180deg,#6366f1,#06b6d4,#22c55e);
    opacity:.28;
}

.ls03-activation-card{
    position:relative;
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:14px;
}

.ls03-activation-icon{
    position:relative;
    z-index:1;
    width:36px;
    height:36px;
    border-radius:14px;
    background:linear-gradient(135deg,#6366f1,#06b6d4);
    box-shadow:0 0 0 6px #fff;
}

.ls03-activation-card.revoked .ls03-activation-icon{
    background:linear-gradient(135deg,#ef4444,#f97316);
}

.ls03-activation-card.suspicious .ls03-activation-icon{
    background:linear-gradient(135deg,#f59e0b,#f97316);
}

.ls03-activation-body{
    display:grid;
    gap:12px;
    padding:16px;
    border:1px solid #e2e8f0;
    border-radius:22px;
    background:#fff;
}

.ls03-activation-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.ls03-activation-head > div{
    display:grid;
    gap:5px;
    min-width:0;
}

.ls03-activation-head strong{
    color:#0f172a;
    font-size:15px;
}

.ls03-activation-head code{
    color:#2563eb;
    font-size:11px;
    white-space:normal;
    word-break:break-all;
}

.ls03-activation-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.ls03-activation-meta span{
    padding:8px 10px;
    border-radius:14px;
    background:#f8fafc;
    color:#475569;
    font-size:12px;
    font-weight:750;
}

.ls03-activation-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.ls03-log-summary{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.ls03-log-summary span{
    padding:8px 10px;
    border-radius:999px;
    background:#f8fafc;
    color:#475569;
    font-size:12px;
    font-weight:800;
}

.ls03-log-table{
    display:grid;
    gap:8px;
}

.ls03-log-table-head,
.ls03-log-table-row{
    display:grid;
    grid-template-columns:140px 1fr 1fr 120px 1.4fr;
    gap:10px;
    align-items:center;
}

.ls03-log-table-head{
    padding:0 12px 4px;
    color:#64748b;
    font-size:11px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.ls03-log-table-row{
    padding:12px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
    color:#334155;
    font-size:12px;
}

.ls03-log-table-row code{
    white-space:normal;
    word-break:break-all;
}

.ls03-log-table-row span:nth-child(4){
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:900;
    text-transform:uppercase;
}

.ls03-health-hero.success .ls03-health-score{
    background:linear-gradient(135deg,#064e3b,#047857 58%,#059669);
}

.ls03-health-hero.warning .ls03-health-score{
    background:linear-gradient(135deg,#78350f,#b45309 58%,#f59e0b);
}

.ls03-health-hero.danger .ls03-health-score{
    background:linear-gradient(135deg,#7f1d1d,#b91c1c 58%,#ef4444);
}

.ls03-health-score{
    text-align:center;
    align-content:center;
}

.ls03-health-score strong{
    color:#fff;
    font-size:70px;
    line-height:.9;
    letter-spacing:-.08em;
}

.ls03-health-score span{
    color:rgba(255,255,255,.78);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ls03-health-list{
    display:grid;
    gap:10px;
}

.ls03-health-item{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
}

.ls03-health-item > div{
    display:flex;
    align-items:center;
    gap:9px;
}

.ls03-health-item strong{
    color:#0f172a;
    font-size:14px;
}

.ls03-health-item p{
    margin:0;
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

.ls03-health-item small{
    width:max-content;
    padding:6px 8px;
    border-radius:999px;
    background:#f8fafc;
    color:#475569;
    font-size:11px;
    font-weight:900;
}

.ls03-health-dot{
    width:12px;
    height:12px;
    border-radius:999px;
    background:#94a3b8;
    box-shadow:0 0 0 4px rgba(148,163,184,.14);
}

.ls03-health-dot.passed{
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.14);
}

.ls03-health-dot.warning{
    background:#f59e0b;
    box-shadow:0 0 0 4px rgba(245,158,11,.16);
}

.ls03-health-dot.failed{
    background:#ef4444;
    box-shadow:0 0 0 4px rgba(239,68,68,.14);
}

.ls03-code-block{
    white-space:pre-wrap;
    margin:0;
    padding:16px;
    border-radius:18px;
    background:#0f172a;
    color:#dbeafe;
    font-size:12px;
    line-height:1.65;
    overflow:auto;
}

.inline-action-form{
    display:inline-flex;
    margin:0;
}

@media(max-width:1280px){
    .ls03-kpi-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .ls03-kpi-grid.four{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:1100px){
    .ls03-hero,
    .ls03-detail-hero,
    .ls03-health-hero,
    .ls03-ops-grid,
    .ls03-two-col,
    .ls03-api-card,
    .ls03-health-grid{
        grid-template-columns:1fr;
    }
    .ls03-verify-feed.compact{
        grid-template-columns:1fr;
    }
    .ls03-activation-meta{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .ls03-hero,
    .ls03-detail-hero,
    .ls03-health-hero,
    .ls03-panel,
    .ls03-api-card{
        padding:18px;
        border-radius:22px;
    }
    .ls03-hero h2,
    .ls03-detail-hero h2,
    .ls03-health-hero h2{
        font-size:clamp(30px,9vw,42px);
    }
    .ls03-kpi-grid,
    .ls03-kpi-grid.four{
        grid-template-columns:1fr;
    }
    .ls03-license-row,
    .ls03-activation-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .ls03-license-meta,
    .ls03-panel-head{
        align-items:flex-start;
        justify-content:flex-start;
        flex-direction:column;
    }
    .ls03-detail-list div{
        grid-template-columns:1fr;
    }
    .ls03-extend-form{
        grid-template-columns:1fr;
    }
    .ls03-activation-meta,
    .ls03-api-grid{
        grid-template-columns:1fr;
    }
    .ls03-log-table-head{
        display:none;
    }
    .ls03-log-table-row{
        grid-template-columns:1fr;
    }
    .ls03-health-score strong{
        font-size:54px;
    }
}

