.geo-feature-page{max-width:1440px}.geo-task-form{display:grid;gap:20px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;padding:24px}.geo-task-form-head,.geo-form-actions,.geo-row-actions,.geo-report-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.geo-task-form-head h3,.geo-task-form-head p{margin:0}.geo-task-form-head p{margin-top:6px;color:#64748b}.geo-task-base-grid,.geo-report-filters,.geo-task-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));column-gap:20px;row-gap:16px}.geo-task-base-grid>*,.geo-report-filters>*,.geo-task-toolbar>*{min-width:0}.geo-task-name-field{grid-column:span 2}.geo-task-form label,.geo-report-filters label,.geo-task-toolbar label{display:grid;gap:7px;color:#334155;font-size:14px;font-weight:700}.geo-task-form input,.geo-task-form textarea,.geo-task-form select,.geo-report-filters input,.geo-report-filters select,.geo-task-toolbar input,.geo-task-toolbar select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;padding:9px 11px}.geo-task-toolbar{grid-template-columns:repeat(2,minmax(0,380px));width:100%;max-width:780px}.geo-task-form textarea{min-height:80px;resize:vertical}.geo-task-form input:disabled,.geo-task-form select:disabled,.geo-task-form textarea:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.geo-task-form-section{display:grid;gap:16px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;padding:20px}.geo-task-form-section h4{margin:0;color:#1e293b;font-size:17px}.geo-project-field{max-width:720px}.geo-project-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:960px}.geo-project-search{position:relative}.geo-project-search .geo-project-field{max-width:none}.geo-project-suggestions{position:absolute;z-index:10;top:calc(100% + 6px);right:0;left:0;overflow:auto;max-height:240px;border:1px solid #bfdbfe;border-radius:8px;background:#fff;box-shadow:0 12px 24px #0f172a24;padding:6px}.geo-task-form .geo-project-suggestions button.geo-project-suggestion{display:block;width:100%;min-height:0;height:auto;border:0;border-radius:6px;background:transparent;box-shadow:none;color:#334155;padding:10px 12px;text-align:left;white-space:normal}.geo-task-form .geo-project-suggestions button.geo-project-suggestion:not(:disabled):hover,.geo-task-form .geo-project-suggestions button.geo-project-suggestion:focus-visible{background:#eff6ff;color:#1d4ed8;outline:none}.geo-task-form .geo-project-suggestions button.geo-project-suggestion:disabled{color:#94a3b8;cursor:not-allowed}.geo-project-suggestions p{margin:0;color:#64748b;padding:10px 12px}.geo-field-help,.geo-query-matrix-heading p{margin:0;color:#64748b;font-size:13px;font-weight:500}.geo-switch-control,.geo-task-form .geo-inline-checkbox{display:flex;align-items:center;gap:8px;min-height:42px}.geo-switch-control{position:relative;cursor:pointer}.geo-task-form .geo-switch-control>input{position:absolute;width:1px;height:1px;opacity:0}.geo-switch-track{box-sizing:border-box;display:flex;align-items:center;width:44px;height:24px;border:1px solid #cbd5e1;border-radius:999px;background:#e2e8f0;padding:2px;transition:border-color .16s ease,background-color .16s ease}.geo-switch-track>span{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .16s ease}.geo-switch-control>input:checked+.geo-switch-track{border-color:#2563eb;background:#2563eb}.geo-switch-control>input:checked+.geo-switch-track>span{transform:translate(20px)}.geo-switch-control>input:focus-visible+.geo-switch-track{outline:2px solid #bfdbfe;outline-offset:2px}.geo-task-form .geo-inline-checkbox input,.geo-task-form .geo-query-select-column>input{width:auto;min-width:auto;min-height:auto;accent-color:#2563eb}.geo-task-form .geo-checkbox{display:flex;align-items:center;gap:6px;font-weight:500}.geo-task-form .geo-checkbox input{width:auto;min-width:auto;min-height:auto}.geo-query-matrix-section{padding:0;overflow:hidden}.geo-query-matrix-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 20px 0}.geo-query-matrix-heading>div{display:grid;gap:6px}.geo-query-matrix-heading>span{color:#64748b;font-size:13px;white-space:nowrap}.geo-query-matrix-scroll{overflow:auto;margin:0 20px;border:1px solid #dbeafe;border-radius:12px;background:#fff;scrollbar-color:#bfdbfe transparent;scrollbar-width:thin}.geo-query-matrix-scroll::-webkit-scrollbar{height:8px}.geo-query-matrix-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#bfdbfe}.geo-query-matrix-scroll::-webkit-scrollbar-track{background:transparent}.geo-query-matrix-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.geo-query-matrix-table th,.geo-query-matrix-table td{box-sizing:border-box;min-width:220px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;padding:12px;vertical-align:middle}.geo-query-matrix-table th{background:#f8fafc}.geo-query-matrix-table tr:last-child td{border-bottom:0}.geo-query-matrix-table th:last-child,.geo-query-matrix-table td:last-child{border-right:0}.geo-query-matrix-table .geo-query-select-column{position:sticky;left:0;z-index:3;min-width:74px;width:74px;text-align:center}.geo-query-matrix-table .geo-query-type-column{position:sticky;left:74px;z-index:3;min-width:170px;width:170px}.geo-query-matrix-table .geo-query-content-column{position:sticky;left:244px;z-index:3;min-width:340px;width:340px;box-shadow:5px 0 10px #0f172a0d}.geo-query-matrix-table .geo-query-action-column{min-width:76px;width:76px;text-align:center}.geo-query-matrix-table thead .geo-query-select-column,.geo-query-matrix-table thead .geo-query-type-column,.geo-query-matrix-table thead .geo-query-content-column{z-index:5;background:#f8fafc}.geo-query-matrix-table tr.is-disabled td{background:#f8fafc}.geo-platform-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.geo-task-form .geo-mode-checkbox{box-sizing:border-box;align-self:start;min-height:34px;height:34px;justify-content:center;border:1px solid #d7e0ec;border-radius:9px;background:#f8fafc;padding:5px 8px;color:#475569;font-size:14px;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease}.geo-task-form .geo-mode-checkbox.is-disabled{opacity:.55;cursor:not-allowed}.geo-task-form .geo-mode-checkbox:not(.is-disabled):hover{border-color:#93c5fd;background:#f0f7ff}.geo-task-form .geo-mode-checkbox:not(.is-disabled):focus-within{outline:2px solid #bfdbfe;outline-offset:2px}.geo-task-form .geo-mode-checkbox input{accent-color:#2563eb}.geo-task-form .geo-mode-checkbox.is-selected{border-color:#60a5fa;background:linear-gradient(180deg,#eff6ff,#e8f2ff);box-shadow:inset 0 0 0 1px #2563eb14;color:#1d4ed8}.geo-query-content-fields{display:grid;gap:6px}.geo-task-form .geo-query-content-fields textarea{min-height:42px;padding:8px 10px;font-size:13px;line-height:1.4}.geo-task-form .geo-query-content-fields>input{min-height:34px;padding:6px 10px;font-size:13px}.geo-task-form button.geo-query-delete-button{min-height:28px;height:28px;border:1px solid #fecaca;border-radius:6px;background:#fff;box-shadow:none;color:#dc2626;padding:4px 8px;font-size:12px;font-weight:600;line-height:1}.geo-task-form button.geo-query-delete-button:hover{border-color:#f87171;background:#fff1f2}.geo-query-readonly-content{display:grid;gap:6px;min-height:54px;border:1px solid #dbe3ee;border-radius:9px;background:#f8fafc;padding:10px 12px;color:#334155}.geo-query-readonly-content strong{font-weight:600;line-height:1.45;overflow-wrap:anywhere}.geo-run-progress-panel{display:grid;gap:18px;margin:20px 0;border:1px solid #bfdbfe;border-radius:12px;background:#fff;padding:20px}.geo-run-progress-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.geo-run-progress-updated-at{color:#64748b;font-size:13px}.geo-run-progress-filters,.geo-run-progress-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.geo-run-progress-filters{grid-template-columns:repeat(2,minmax(0,430px));max-width:874px}.geo-run-progress-filters label{display:grid;gap:7px;color:#334155;font-size:14px;font-weight:700}.geo-run-progress-filters input,.geo-run-progress-filters select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;padding:9px 11px}.geo-run-progress-summary>div{display:grid;gap:5px;border-radius:8px;background:#f8fafc;padding:12px}.geo-run-progress-summary span{color:#64748b;font-size:13px}.geo-run-progress-cell{display:grid;grid-template-columns:minmax(110px,1fr) auto;align-items:center;gap:8px}.geo-run-progress-cell progress{width:100%;height:7px;accent-color:#e5a31a}.geo-platform-link-count{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.geo-platform-link-count img{width:22px;height:22px;flex:0 0 22px;object-fit:contain}@media (max-width: 760px){.geo-run-progress-filters,.geo-run-progress-summary{grid-template-columns:1fr}.geo-run-progress-filters{max-width:none}.geo-run-progress-actions{justify-content:flex-start}}.geo-query-readonly-content span{color:#64748b;font-size:12px}.geo-add-query-button{margin:0 20px 20px}.geo-diagnosis-source{display:flex;gap:18px;align-items:center;border:0;margin:4px 0 18px;padding:0}.geo-diagnosis-source legend{margin-bottom:10px;color:#334155;font-weight:700}.geo-diagnosis-profile-summary{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 16px;color:#475569}.geo-diagnosis-product-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.geo-diagnosis-product{display:grid;gap:5px;position:relative;border:1px solid #dbe3ee;border-radius:10px;background:#fff;padding:14px;color:#334155;cursor:pointer}.geo-diagnosis-product:hover,.geo-diagnosis-product.is-selected{border-color:#93c5fd;background:#f0f7ff}.geo-diagnosis-product input{margin:0;accent-color:#2563eb}.geo-diagnosis-product-header{display:block;min-width:0}.geo-diagnosis-product-header input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.geo-diagnosis-product-header strong{color:#1e3a8a}.geo-diagnosis-product-category,.geo-diagnosis-product-description{color:#64748b}.geo-diagnosis-competitors{display:grid;gap:8px;margin:0 0 18px;color:#334155;font-weight:700}.geo-diagnosis-competitor-input{display:flex;width:33.333%;min-width:320px;gap:8px;align-items:center}.geo-diagnosis-competitor-input input{min-width:0}.geo-diagnosis-competitor-tags{display:flex;flex-wrap:wrap;gap:8px}.geo-diagnosis-competitor-tags>span{display:inline-flex;gap:6px;align-items:center;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:600}.geo-diagnosis-competitor-tags button{min-width:auto;padding:0;border:0;background:transparent;color:inherit;line-height:1}.geo-form-actions{justify-content:flex-end}.geo-task-table-wrap{border:1px solid #dbe3ee;border-radius:10px;background:#fff}.geo-task-table{width:100%;border-collapse:collapse}.geo-task-table th,.geo-task-table td{border-bottom:1px solid #e5e7eb;padding:14px;text-align:left;vertical-align:middle}.geo-row-actions{justify-content:flex-start;flex-wrap:wrap}.geo-task-list-table th:nth-child(6),.geo-task-list-table td:nth-child(6){min-width:120px;white-space:nowrap}.geo-task-list-table th:last-child,.geo-task-list-table td:last-child{min-width:400px;white-space:nowrap}.geo-task-list-table td:last-child .geo-row-actions{width:max-content;flex-wrap:nowrap;white-space:nowrap}.geo-report-actions{justify-content:flex-end;flex-wrap:wrap}.geo-link-button,.geo-danger-text{min-height:auto;background:transparent;color:#2563eb;padding:2px 4px}.geo-danger-text{color:#dc2626}.geo-report-filters{align-items:end;border:1px solid #dbe3ee;border-radius:10px;background:#fff;padding:18px}.geo-period-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.geo-period-summary div{display:grid;gap:6px;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff;padding:16px}.geo-period-summary span{color:#64748b;font-size:13px}.geo-period-summary strong{color:#1e3a8a;font-size:20px}.geo-report-detail-row td{background:#f8fafc}.geo-report-detail-row p{display:flex;justify-content:space-between;gap:16px;margin:8px 0}.geo-report-detail-row span{color:#64748b}@media (max-width: 780px){.geo-task-name-field{grid-column:1 / -1}.geo-task-toolbar{grid-template-columns:minmax(0,1fr);max-width:400px}.geo-project-picker{grid-template-columns:1fr}.geo-period-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{color:#1f2937;background:#f7f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}.app-shell{display:grid;min-height:100vh;place-items:center;padding:32px}.login-panel,.content-panel,.sidebar{width:min(100%,720px);border:1px solid #d9dee8;border-radius:8px;background:#fff;padding:40px;box-shadow:0 16px 40px #0f172a14}.login-panel{max-width:520px}.status-label{margin:0 0 12px;color:#2563eb;font-size:14px;font-weight:700}h1{margin:0;color:#111827;font-size:36px;line-height:1.2}.lead{margin:20px 0 0;color:#111827;font-size:20px;font-weight:700}.description{margin:12px 0 0;color:#4b5563;font-size:16px;line-height:1.7}.login-form{display:grid;gap:18px;margin-top:28px}.login-form label{display:grid;gap:8px;color:#374151;font-size:14px;font-weight:700}.login-form input{min-height:44px;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px;color:#111827;background:#fff}button,.secondary-button{min-height:40px;border:0;border-radius:6px;background:#2563eb;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px}button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{background:#e5e7eb;color:#111827}.form-error{margin:0;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;color:#991b1b;padding:10px 12px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.app-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:0;min-height:100vh;background:#eef3f8}.sidebar,.content-panel{width:auto;border:0;border-radius:0;box-shadow:none}.sidebar{align-content:start;border-right:1px solid #dbe3ee;display:grid;gap:28px;padding:28px;background:#fff}.sidebar h1{font-size:24px}.nav-list{display:grid;gap:8px}.nav-group-label{margin:8px 12px 4px;color:#8a94a6;font-size:12px;font-weight:700}.nav-list a{border-radius:6px;color:#1f2937;padding:10px 12px;text-decoration:none}.nav-list a:hover,.nav-list a.active{background:#eef2ff;color:#1d4ed8;font-weight:700}.content-panel{display:grid;gap:28px;padding:28px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e5e7eb;padding-bottom:20px}.eyebrow{margin:0 0 6px;color:#6b7280;font-size:13px}.current-user{margin:0;color:#111827;font-size:18px;font-weight:700}.welcome-block{max-width:720px}.welcome-block h2{margin:0;color:#111827;font-size:28px}.welcome-block p{color:#4b5563;line-height:1.7}.system-entry-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.system-entry-list a{border:1px solid #c9d9f2;border-radius:8px;background:#f7faff;color:#1f5fc4;font-weight:700;padding:10px 16px;text-decoration:none}.system-entry-list a:hover,.system-entry-list a:focus-visible{border-color:#2468f2;background:#eef4ff}.catalog-page{display:grid;gap:24px;max-width:1180px}.catalog-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.catalog-header h2,.catalog-section h3,.enum-panel h3{margin:0;color:#111827}.catalog-header h2{font-size:24px}.catalog-header p:last-child,.empty-state{margin:0;color:#4b5563;line-height:1.6}.breadcrumb{margin:0 0 8px;color:#6b7280;font-size:13px}.readonly-badge{display:inline-flex;min-height:28px;align-items:center;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:700;padding:4px 12px;white-space:nowrap}.catalog-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-toolbar{display:grid;gap:8px}.filter-label{display:grid;gap:6px;color:#374151;font-size:13px;font-weight:700}.filter-label input{width:min(520px,100%)}.summary-metric,.catalog-table-panel,.enum-panel{border:1px solid #dfe7f2;border-radius:8px;background:#fff}.summary-metric{display:grid;gap:8px;padding:18px}.tenant-row-actions{display:inline-flex;flex-wrap:wrap;gap:8px}.inline-field{display:inline-grid;gap:4px;min-width:160px;color:#374151;font-size:12px;font-weight:700}.inline-field input{min-height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px}.tenant-form-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0f172a59}.tenant-form-panel{max-width:760px;width:min(100%,760px);border:1px solid #dfe7f2;border-radius:10px;background:#fff;box-shadow:0 18px 50px #0f172a33;display:grid;gap:16px;padding:18px}.tenant-form-panel.form-page{width:100%;max-width:none;box-shadow:none}.form-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.form-page-head p{margin:4px 0 0;color:#667085}.tenant-form-panel h3{margin:0;color:#111827;font-size:20px}.tenant-form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tenant-detail-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tenant-detail-grid p{margin:0;display:grid;gap:4px;color:#374151;font-size:13px}.tenant-detail-grid strong{color:#6b7280}.tenant-form-grid label{display:grid;gap:6px;color:#374151;font-size:13px;font-weight:700}.tenant-form-grid input,.tenant-form-grid select{min-height:38px}.tenant-form-actions{display:flex;justify-content:flex-end;gap:10px}.tenant-form-actions button{min-width:88px}.tenant-edit-page{gap:0;padding:0;border:0;background:transparent}.tenant-edit-hero{padding:18px 24px;border-bottom:1px solid #d8e3f2;background:#fff}.tenant-edit-form{display:grid;gap:0;background:#fff;border:1px solid #d8e3f2;border-radius:8px;overflow:hidden}.tenant-edit-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #d8e3f2}.tenant-edit-intro strong,.tenant-edit-section legend,.tenant-edit-section h4{color:#111827;font-size:16px;font-weight:800}.tenant-edit-intro p{margin:6px 0 0;color:#667085}.tenant-edit-intro .secondary-button{flex:0 0 auto}.tenant-edit-body{display:grid;gap:28px;padding:48px 44px 40px}.tenant-edit-section{width:min(100%,920px);margin:0;padding:18px;border:1px solid #cfdbea;border-radius:8px;background:#fff}.tenant-edit-section legend{padding:0 0 14px}.tenant-edit-section h4{margin:0 0 14px}.tenant-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px 18px}.tenant-create-basic-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,2fr) minmax(180px,1fr);gap:14px 18px}.tenant-edit-grid label,.tenant-create-basic-grid label,.tenant-module-option{display:grid;gap:6px;color:#475467;font-size:13px;font-weight:700}.tenant-edit-grid input,.tenant-edit-grid select,.tenant-create-basic-grid input{min-height:38px}.tenant-logo-upload{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:76px;padding:12px;border:1px dashed #b8c7db;border-radius:8px;background:#f8fbff}.tenant-logo-preview{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;background:#52c7c7;color:#0f172a;font-size:12px;font-weight:800}.tenant-logo-copy{display:grid;gap:4px;min-width:0}.tenant-logo-copy strong{color:#111827;font-size:13px;font-weight:800}.tenant-logo-copy small{color:#667085;font-size:12px}.tenant-logo-upload input{width:130px;min-height:32px}.tenant-module-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.tenant-module-option{grid-template-columns:auto 1fr;align-items:start;min-height:60px;gap:10px;padding:10px;border:1px solid #cfdbea;border-radius:8px}.tenant-module-option input{width:14px;height:14px;margin:3px 0 0;accent-color:#12a98f}.tenant-module-option span{display:grid;gap:4px}.tenant-module-option small{color:#667085;font-weight:600}.module-badge-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.module-badge{display:inline-flex;width:auto;min-height:24px;align-items:center;justify-content:center;padding:3px 10px;border:1px solid #b8d4ff;border-radius:999px;background:#eef5ff;color:#1f6feb;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap}.role-table td>.module-badge{display:inline-flex;margin-top:0}.role-table td>.channel-default-badge{margin-left:8px}.module-badge-empty{border-color:#d1d5db;background:#f8fafc;color:#64748b}.tenant-edit-actions{padding:16px 20px;border-top:1px solid #d8e3f2;background:#fff}.tenant-detail-readonly-grid p{min-height:38px;padding:0}.tenant-detail-readonly-grid strong{color:#475467;font-size:13px;font-weight:700}.summary-metric p{margin:0;color:#6b7280;font-size:13px}.summary-metric strong{color:#111827;font-size:28px}.catalog-section{display:grid;gap:0}.section-heading{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:16px 18px}.section-heading h3{font-size:18px}.section-heading span{color:#6b7280;font-size:13px}.table-scroll{overflow-x:auto}.role-table{width:100%;min-width:880px;border-collapse:collapse;font-size:14px}.role-table th{border-top:1px solid #edf1f7;background:#f8fafc;color:#64748b;font-size:12px;font-weight:700;text-align:left;vertical-align:middle}.role-table th,.role-table td{border-bottom:1px solid #edf1f7;padding:14px 16px;vertical-align:top}.role-table td{color:#111827}.role-table td>strong{display:block;margin-bottom:6px}.role-table td>span{display:block;color:#6b7280;line-height:1.5}.status-pill{display:inline-flex;width:fit-content;max-width:100%;min-height:28px;align-items:center;border:1px solid #d1d5db;border-radius:999px;background:#f9fafb;color:#374151;font-size:12px;font-weight:700;padding:4px 10px;white-space:nowrap}.status-pill.active,.status-pill.result-allow{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.status-pill.result-deny{border-color:#fecaca;background:#fef2f2;color:#991b1b}.status-pill.result-error{border-color:#fde68a;background:#fffbeb;color:#92400e}.role-table code,.code-text{color:#1f2937;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px}.code-list code{display:inline-flex;min-height:28px;align-items:center;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#1f2937;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;padding:4px 9px;word-break:break-word}.code-list-block{display:grid;gap:8px}.code-list-label{margin:0;color:#374151;font-size:13px;font-weight:700}.code-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.code-list.compact{max-width:320px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.enum-panel{display:grid;gap:12px;padding:16px}.enum-panel h3{font-size:17px}@media (max-width: 640px){.app-shell{padding:20px}.login-panel{padding:28px}.app-layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #dbe3ee}h1{font-size:30px}.catalog-header{display:grid}.catalog-summary{grid-template-columns:1fr}.topbar{align-items:stretch;flex-direction:column}}:root{color:#172033;background:#f3f6fb;--bg: #f3f6fb;--surface: #ffffff;--surface-soft: #f7f9fd;--surface-hover: #eef4ff;--line: #d8e1ee;--line-strong: #c4d0e0;--text: #172033;--muted: #687587;--blue: #2468f2;--blue-dark: #1c55d8;--blue-soft: #edf4ff;--cyan: #00a6c8;--teal: #0ca68a;--teal-dark: #087f6b;--teal-soft: #e8fbf6;--amber: #b7791f;--amber-soft: #fff7e6;--green: #12824b;--green-soft: #eaf8f0;--red: #d92d20;--red-soft: #fff1f0;--shadow: 0 12px 30px rgba(15, 23, 42, .08);--shadow-sm: 0 6px 18px rgba(15, 23, 42, .06);--radius: 8px;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}html{background:var(--bg)}body,.app-shell,.app-layout{background:radial-gradient(circle at 16% 8%,rgba(36,104,242,.08),transparent 28%),radial-gradient(circle at 84% 0%,rgba(0,166,200,.07),transparent 24%),linear-gradient(180deg,#f8fbff 0%,var(--bg) 46%,#eef3f9 100%);color:var(--text);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(36,104,242,.2);outline-offset:2px}.app-layout{grid-template-columns:260px minmax(0,1fr);min-height:100vh;background:transparent}.sidebar{position:sticky;top:0;height:100vh;min-height:100vh;margin:0;padding:18px 16px;border:0;border-right:1px solid var(--line);border-radius:0;background:#fffffff5;box-shadow:none;display:flex;flex-direction:column;gap:16px}.brand-row,.system-brand{display:flex;align-items:center;gap:11px}.system-brand{padding-bottom:14px;border-bottom:1px solid var(--line)}.brand-mark,.nav-icon{display:grid;place-items:center;border-radius:8px;font-weight:900}.brand-mark{width:38px;height:38px;border:0;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 10px 22px #2468f238}.tenant-brand-logo{display:block;width:38px;height:38px;border-radius:8px;object-fit:contain}.login-brand-logo{width:64px;height:64px;margin-bottom:20px}.brand-name,.user-name,.login-panel h1,.catalog-header h2,.catalog-section h3,.enum-panel h3,.welcome-block h2,.tenant-form-panel h3,.current-user,.role-table td>strong,.tenant-detail-grid p,.summary-metric strong{color:var(--text);letter-spacing:0}h1.brand-name,.brand-name{font-size:14px;font-weight:900;line-height:1.45;margin:0}.brand-sub,.user-role,.breadcrumb,.catalog-header p:last-child,.empty-state,.eyebrow,.filter-label,.inline-field,.login-form label,.nav-group-label,.role-table td>span,.section-heading span,.summary-metric p,.tenant-detail-grid strong,.tenant-form-grid label,.welcome-block p{color:var(--muted)}.brand-sub{margin-top:2px;font-size:12px;font-weight:400;line-height:1.45}.status-label{color:var(--muted);margin-bottom:0}.user-box{padding:12px;border:1px solid #e1e9f5;border-radius:8px;background:#f7faff;box-shadow:none;min-height:86px}.user-name{font-size:14px;font-weight:900}.user-role{margin-top:2px;font-size:13px;line-height:1.45}.main-nav,.nav-list{display:grid;gap:6px;overflow-y:auto;padding:4px 2px 0 0}.nav-group-label{margin:2px 10px 4px;font-size:12px;font-weight:700}.nav-list a{display:flex;align-items:center;gap:10px;min-height:38px;border:1px solid transparent;border-radius:8px;background:transparent;color:#263247;padding:8px 10px;text-align:left;font-size:14px;font-weight:600}.nav-list a:hover{border-color:var(--line);background:var(--surface-soft);color:var(--blue)}.nav-list a.active{border-color:#cfdefb;background:var(--blue-soft);color:var(--blue);box-shadow:none;font-weight:800}.nav-icon{width:24px;height:24px;border:1px solid rgba(36,104,242,.12);background:#f1f5fb;color:var(--blue);flex:0 0 auto;font-size:11px;line-height:1.45}.nav-list a.active .nav-icon{background:var(--blue);color:#fff}.logout-button{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;min-height:36px;height:36px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);cursor:pointer;font-size:14px;font-weight:400;box-shadow:none;padding:0 12px}.logout-button:hover{border-color:#d92d2038;background:var(--red-soft);color:var(--red)}.content-panel,.workspace{min-width:0;display:block;background:transparent;padding:24px}.catalog-page{max-width:none;gap:18px}.catalog-header,.catalog-toolbar,.catalog-summary,.catalog-section,.catalog-grid,.welcome-block,.enum-panel,.login-panel{margin-left:20px;margin-right:20px}.catalog-header{margin-left:0;margin-right:0;margin-top:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#ffffffeb;box-shadow:none;padding:14px 24px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.catalog-header{position:sticky;top:0;z-index:20;min-height:72px;align-items:center}.welcome-block,.login-panel{margin-top:18px;border:1px solid var(--line);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-sm);padding:14px 16px}.catalog-header h2{font-size:22px;line-height:1.25}.catalog-toolbar{display:flex;flex-wrap:wrap;grid-template-columns:none;align-items:end;gap:8px;margin-top:0;border:1px solid var(--line);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-sm);padding:14px 16px}.toolbar-actions{display:flex;align-items:end;justify-content:flex-end;margin-left:auto}.filter-label{gap:6px;font-size:13px;font-weight:700}input,select,textarea,.login-form input,.filter-label input,.filter-label select,.tenant-form-grid input,.tenant-form-grid select,.inline-field input{min-height:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);box-shadow:none}.filter-label input,.filter-label select{min-width:188px}.audit-log-toolbar{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.audit-log-toolbar .filter-label{grid-column:span 3}.audit-log-toolbar .filter-label:nth-of-type(n+5){grid-column:span 4}.audit-log-toolbar .filter-label input,.audit-log-toolbar .filter-label select{width:100%;min-width:0}.audit-log-toolbar .filter-error{grid-column:1 / -1;margin:0;color:var(--red);font-size:12px;font-weight:700}input::placeholder,textarea::placeholder{color:#98a4b4}button:not(.logout-button):not(.secondary-button),.secondary-button,.tenant-row-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;height:34px;border:1px solid var(--blue);border-radius:6px;background:var(--blue);color:#fff;box-shadow:0 8px 18px #2468f22e;padding:0 12px;font-size:14px;font-weight:600;white-space:nowrap}button:not(.logout-button):not(.secondary-button):hover{border-color:var(--blue-dark);background:var(--blue-dark)}.secondary-button,.tenant-form-actions .secondary-button{border-color:var(--line);background:#fff;color:#25405f;box-shadow:none}.secondary-button:hover,.tenant-form-actions .secondary-button:hover{border-color:#c9d9f7;background:var(--blue-soft);color:var(--blue)}.role-table .tenant-row-actions button,.role-table .tenant-row-actions .secondary-button{min-width:52px;min-height:30px;height:30px;border:0;background:transparent;color:var(--blue);box-shadow:none;padding:0}.role-table .tenant-row-actions button:disabled{color:var(--muted);opacity:.62}.catalog-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.summary-metric{min-height:86px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-sm)}.summary-metric p{font-size:12px}.summary-metric strong{margin-top:2px;font-size:24px;line-height:1.15}.catalog-section,.enum-panel{margin-top:18px;border:1px solid var(--line);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-sm);padding:0;overflow:hidden}.section-heading{padding:14px 16px;border-bottom:1px solid var(--line)}.section-heading h3,.enum-panel h3{font-size:16px;line-height:1.35}.table-scroll{overflow:auto;border:0;border-radius:0 0 8px 8px;background:#fff}.role-table{width:100%;min-width:880px;table-layout:auto;border-collapse:collapse;background:#fff;font-size:14px}.role-table:has(th:nth-child(8)){min-width:1120px}.platform-tenants-table{min-width:1080px}.channels-table{min-width:1180px}.platform-tenants-table th:nth-child(5),.platform-tenants-table td:nth-child(5),.channels-table th:nth-child(7),.channels-table td:nth-child(7){width:auto;min-width:220px}.role-table th{height:40px;padding:0 14px;border-top:0;border-bottom:1px solid var(--line);background:var(--surface-soft);color:#667085;font-size:12px;font-weight:700;text-align:left;vertical-align:middle;white-space:nowrap}.role-table td{height:56px;padding:12px 14px;border-bottom:1px solid #e6edf6;color:var(--text);vertical-align:middle}.role-table tr:hover td{background:#f8fbff}.role-table td:last-child{width:220px;min-width:220px;text-align:right;white-space:nowrap}.role-table th:last-child{width:220px;min-width:220px;text-align:right;white-space:nowrap}.role-table td:last-child .tenant-row-actions{display:inline-flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;width:auto}.role-table td>strong,.row-main{font-size:14px;font-weight:700}.role-table td>span,.row-sub{margin-top:3px;font-size:12px;line-height:1.45}.audit-log-table{min-width:900px}.audit-log-table th:first-child,.audit-log-table td:first-child{width:132px;min-width:132px}.audit-log-table th:last-child,.audit-log-table td:last-child{width:92px;min-width:92px}.audit-log-time{display:inline-grid;gap:2px;min-width:108px;white-space:nowrap}.audit-log-time-date{color:var(--text);font-size:13px;font-weight:700;line-height:1.25}.audit-log-time-clock{color:var(--muted);font-size:12px;line-height:1.25}.audit-log-query-error{display:grid;gap:4px;padding:24px 16px;color:var(--red);text-align:center}.audit-log-query-error span{color:var(--muted);font-size:13px}.role-catalog-table{min-width:940px}.role-catalog-table th:nth-child(1),.role-catalog-table td:nth-child(1){width:18%;min-width:160px}.role-catalog-table th:nth-child(2),.role-catalog-table td:nth-child(2){width:112px;min-width:112px}.role-catalog-table th:nth-child(3),.role-catalog-table td:nth-child(3){width:22%;min-width:180px}.role-catalog-table th:nth-child(4),.role-catalog-table td:nth-child(4){width:30%;min-width:220px}.role-catalog-table th:nth-child(5),.role-catalog-table td:nth-child(5),.role-catalog-table th:last-child,.role-catalog-table td:last-child{width:112px;min-width:112px}.role-catalog-table td>.role-scope-badge,.role-catalog-table td>.role-type-badge{display:inline-flex;width:fit-content;max-width:100%;min-height:24px;margin-top:0;align-items:center;justify-content:center;padding:2px 8px;border:1px solid;border-radius:999px;font-size:12px;font-weight:600;line-height:1.25;overflow:visible;text-overflow:clip;white-space:nowrap}.role-catalog-table td>.role-scope-badge{border-color:#0ca68a2e;background:var(--teal-soft);color:var(--teal-dark)}.role-catalog-table td>.role-type-badge{border-color:#2468f22e;background:var(--blue-soft);color:var(--blue)}.status-pill,.readonly-badge,.code-list code{display:inline-flex;width:fit-content;max-width:100%;align-items:center;min-height:24px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.role-table td>.status-pill{display:inline-flex;width:fit-content;margin-top:0}.status-pill.active,.status-pill.result-allow{border-color:#12824b29;background:var(--green-soft);color:var(--green)}.status-pill.result-deny{border-color:#d92d2029;background:var(--red-soft);color:var(--red)}.status-pill.result-error{border-color:#b7791f2e;background:var(--amber-soft);color:var(--amber)}.enum-panel{padding:14px}.tenant-form-backdrop{background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tenant-form-panel{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a33}.tenant-form-panel.tenant-edit-page{border:0;border-radius:0;background:transparent;box-shadow:none}.tenant-edit-hero{padding:14px 24px}.catalog-header h2{font-size:22px;font-weight:800}.section-heading h3,.enum-panel h3{font-size:16px;font-weight:800}.catalog-header p:last-child,.filter-label,.role-table,.tenant-edit-grid label,.tenant-create-basic-grid label,.tenant-module-option{font-size:14px}.summary-metric p,.role-table th,.role-table td>span,.row-sub,.status-pill,.readonly-badge,.code-list code{font-size:12px}.content-panel input,.content-panel select,.content-panel textarea,.filter-label input,.filter-label select,.tenant-form-grid input,.tenant-form-grid select,.tenant-edit-grid input,.tenant-edit-grid select,.tenant-create-basic-grid input,.inline-field input{font-size:14px;font-weight:500}.sidebar,.sidebar a,.sidebar button{font-size:14px;line-height:1.45}.brand-sub,.user-role,.nav-group-label{font-size:12px;line-height:1.45}.nav-list a{min-height:38px}.logout-button{font-weight:500}.tenant-edit-page .tenant-edit-form{margin-top:20px}.tenant-form-grid{gap:12px}.tenant-form-grid label{gap:6px;color:#344054;font-size:12px;font-weight:700}input,select,textarea,.login-form input,.filter-label input,.filter-label select,.tenant-form-grid input,.tenant-form-grid select,.tenant-edit-grid input,.tenant-edit-grid select,.tenant-create-basic-grid input,.inline-field input{padding:0 12px}input[type=date]{padding-right:10px}.tenant-edit-section legend{float:left;width:100%;margin:0 0 18px;padding:0;font-size:14px}.tenant-edit-section legend+*{clear:both}.tenant-edit-section h4{font-size:14px}.tenant-edit-grid label,.tenant-create-basic-grid label{font-size:12px}.tenant-detail-readonly-grid .status-pill{justify-self:start}.empty-state{padding:32px;color:var(--muted);background:#fff;text-align:center}.user-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px}.users-list-toolbar{align-items:flex-end}.users-list-actions{min-height:36px}.users-create-button{min-width:96px;height:36px;padding:0 16px;font-size:14px;font-weight:600}.users-table th:nth-child(3),.users-table td:nth-child(3){width:148px;min-width:148px}.users-table td>.user-role-badge{display:inline-flex;width:fit-content;max-width:100%;min-height:24px;margin:0;align-items:center;justify-content:center;padding:2px 8px;border:1px solid;border-radius:999px;font-size:12px;font-weight:600;line-height:1.25;overflow:visible;text-overflow:clip;white-space:nowrap}.users-table td>.user-role-badge--teal{border-color:#0ca68a2e;background:var(--teal-soft);color:var(--teal-dark)}.users-table td>.user-role-badge--muted{border-color:var(--line);background:var(--surface-soft);color:var(--muted)}.tenant-form-panel.form-page.user-form-page{width:auto;margin:0 20px;padding:0;gap:0;overflow:hidden;border-color:var(--line);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-sm)}.user-form-page-head{min-height:72px;padding:16px 18px;align-items:center;border-bottom:1px solid var(--line);background:#fff}.user-form-page-head h3{font-size:18px;line-height:1.35}.user-form-surface{grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding:16px;background:#fff}.user-form-main{display:grid;gap:16px}.user-form-main fieldset{min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.user-form-main .user-form-section{padding:18px;border-color:var(--line);border-radius:8px;box-shadow:none}.user-form-main legend{padding:0 8px;color:var(--text);font-size:14px;font-weight:800}.user-form-main .form-panel-title{float:left;grid-column:1 / -1;width:100%;margin:0 0 18px;padding:0;color:var(--text);font-size:14px;font-weight:800;line-height:1.4}.user-form-main .form-panel-title+*{clear:both}.user-permission-panel{position:sticky;top:90px;display:block;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none}.user-permission-panel .module-panel-head{display:grid;gap:6px;margin:0 0 12px}.user-permission-panel .module-panel-head h3,.user-permission-panel .module-panel-head p{margin:0}.user-permission-panel .module-panel-head p{color:var(--muted);font-size:13px;line-height:1.6}.user-permission-facts{display:grid;gap:8px;margin:0;padding:0;list-style:none}.user-permission-facts li{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:12px;line-height:1.55}.user-form-actions{margin:0 -16px -16px;padding:16px;border-top:1px solid var(--line);background:#fff}.customer-assignment-fieldset,.project-authorization-fieldset{display:grid;gap:12px}.project-create-button{flex:0 0 auto;min-width:96px;height:36px;padding:0 16px;font-size:14px;font-weight:600}.projects-list-toolbar{align-items:flex-end}.projects-list-actions{min-height:36px}.tenant-form-panel.form-page.project-create-page{width:auto;margin:0 20px;padding:0;gap:0;overflow:hidden;border-color:var(--line);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-sm)}.project-create-page-head{min-height:72px;padding:16px 18px;align-items:center;border-bottom:1px solid var(--line);background:#fff}.project-create-page-head h3{font-size:18px;line-height:1.35}.project-create-form{grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding:16px;background:#fff}.project-create-section{padding:18px;border-color:var(--line);box-shadow:none}.project-query-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-query-list-head>strong{font-size:13px}.project-create-page button.project-section-collapse-button{min-height:28px;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);box-shadow:none;font-size:12px;font-weight:700}.project-create-page button.project-section-collapse-button:hover{border-color:#c9d9f7;background:var(--blue-soft);color:var(--blue)}.project-query-preview-table th{height:36px;padding:0 12px}.project-query-preview-table td{height:28px;padding:8px 12px;vertical-align:middle}.word-package-execution-panel{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.word-package-execution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.word-package-execution-head h3,.word-package-execution-head p{margin:0}.word-package-execution-head p{margin-top:6px;color:var(--muted);font-size:13px}.word-package-execution-content{display:grid;gap:14px}.word-package-execution-toolbar{display:grid;grid-template-columns:180px minmax(220px,1fr) 160px 160px auto;gap:12px;align-items:end}.word-package-execution-toolbar label{display:grid;gap:6px;min-width:0;color:var(--text);font-size:13px;font-weight:700}.word-package-execution-toolbar input,.word-package-execution-toolbar select{width:100%;min-width:0}.word-package-refresh-button{min-width:76px}.word-package-summary-list{display:flex;flex-wrap:wrap;gap:8px}.word-package-summary-list span{padding:7px 10px;border-radius:7px;background:var(--blue-soft);color:var(--text);font-size:13px;font-weight:700}.word-package-platform-table th,.word-package-platform-table td,.word-package-query-table th,.word-package-query-table td{height:34px;padding:7px 10px;vertical-align:middle}.word-package-query-table td:first-child{min-width:280px}.word-package-query-table td:nth-child(2){min-width:220px}.word-package-query-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #f5c2c7;border-radius:8px;background:#fff5f5;color:#b42318}.word-package-query-error p{margin:0}.project-name-field{grid-column:1 / -1}.project-customer-section{align-items:start}.project-customer-picker{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.project-customer-picker>*,.project-customer-picker label{min-width:0}.project-customer-picker input,.project-customer-picker select{width:100%;max-width:100%}.project-customer-search{position:relative;min-width:0}.project-customer-suggestions{position:absolute;z-index:10;top:calc(100% + 6px);right:0;left:0;overflow:auto;max-height:240px;padding:6px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.project-customer-suggestions button.project-customer-suggestion{display:block;width:100%;min-height:0;height:auto;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);box-shadow:none;font-weight:600;text-align:left;white-space:normal}.project-customer-suggestions button.project-customer-suggestion:hover,.project-customer-suggestions button.project-customer-suggestion[aria-selected=true]{border-color:transparent;background:var(--blue-soft);color:var(--text)}.project-customer-suggestions p{margin:0;padding:9px 10px;color:var(--muted)}.project-fixed-policy{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-fixed-policy p{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.project-fixed-policy span{color:var(--muted)}.project-kpi-section{display:grid;gap:14px}.project-kpi-section>h4,.project-kpi-section>p{margin:0}.project-kpi-group{display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.project-kpi-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-kpi-group-head label{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:700}.project-kpi-group-head input{width:18px;height:18px}.project-kpi-group-head span{color:var(--muted);font-size:12px}.project-kpi-metrics,.project-kpi-secondary-groups{display:grid;gap:12px}.project-kpi-metric{min-width:0}.project-kpi-metrics-four{grid-template-columns:repeat(4,minmax(0,1fr))}.project-kpi-secondary-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.project-kpi-percent-input{position:relative;display:block;min-width:0}.project-kpi-percent-input input{width:100%;min-width:0;padding-right:36px}.project-kpi-percent-input>span{position:absolute;top:50%;right:12px;color:var(--muted);transform:translateY(-50%)}.project-kpi-description{display:grid;width:100%}.project-kpi-description textarea{width:100%;min-height:92px}.project-create-inline-state,.project-create-restricted-note{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--muted);font-size:12px;line-height:1.6}.project-customer-error{grid-column:1 / -1}.project-initial-grant-table-wrap{border:1px solid var(--line);border-radius:8px}.project-authorization-fieldset{position:relative}.project-authorization-collapse-button{position:absolute;top:12px;right:18px}.project-collapsible-content{display:grid;grid-column:1 / -1;gap:12px;min-width:0}.project-collapsible-content>p{margin:0}.project-create-page .project-grant-table{min-width:620px}.project-initial-grant-table-wrap .project-grant-table th{height:36px}.project-initial-grant-table-wrap .project-grant-table td{height:34px;padding-top:6px;padding-bottom:6px}.project-initial-grant-table-wrap .project-grant-table td>strong{display:inline;margin:0 8px 0 0;line-height:1.2}.project-initial-grant-table-wrap .project-grant-table td:first-child{white-space:nowrap}.project-initial-grant-table-wrap .project-grant-table td>span{display:inline;margin-top:0;line-height:1.2}.project-initial-grant-table-wrap .project-grant-table input[type=checkbox]{width:18px;min-height:18px;height:18px;margin:0;padding:0}.project-create-page .project-grant-table th:not(:first-child),.project-create-page .project-grant-table td:not(:first-child){width:72px;min-width:72px;text-align:center}.project-create-page .project-grant-table th:last-child,.project-create-page .project-grant-table td:last-child{width:72px;min-width:72px;text-align:center}.project-create-page .project-grant-table .project-grant-empty-cell{width:auto;min-width:0;height:72px;color:var(--muted);text-align:center}.project-create-rules{position:sticky;top:90px;display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none}.project-create-rules .module-panel-head{display:grid;gap:6px}.project-create-rules .module-panel-head h3,.project-create-rules .module-panel-head p{margin:0}.project-create-rules .module-panel-head p{color:var(--muted);font-size:13px;line-height:1.6}.project-create-rules .helper-list{display:grid;gap:8px}.project-create-rules .helper-list span{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:12px;line-height:1.55}.project-create-actions{grid-column:1 / -1;padding-top:16px;border-top:1px solid var(--line)}.role-table.projects-table,.role-table.projects-table:has(th:nth-child(8)){min-width:900px}.projects-table th,.projects-table td{padding-right:10px;padding-left:10px}.projects-table th:last-child,.projects-table td:last-child{width:132px;min-width:132px}.role-table.project-grant-table{min-width:540px}.project-grant-table th,.project-grant-table td{padding-right:8px;padding-left:8px}.project-grant-table th:first-child,.project-grant-table td:first-child{width:auto;min-width:160px;text-align:left}.project-grant-table th:not(:first-child),.project-grant-table td:not(:first-child),.project-grant-table th:last-child,.project-grant-table td:last-child{width:64px;min-width:64px;text-align:center}.customer-assignment-fieldset .tenant-muted-text{margin:0}.customer-assignment-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.customer-assignment-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--text);font-size:13px}.customer-assignment-card label{display:flex;align-items:center;gap:8px;font-weight:700}.customer-assignment-card input[type=checkbox]{width:16px;min-height:16px;height:16px;margin:0}.customer-project-create-option{color:var(--muted);font-size:12px}.todo-value{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#fff4e5;color:#a15c00;font-size:11px;font-weight:800}.user-form-layout>.tenant-form-actions{grid-column:1 / -1}.user-detail-layout .tenant-detail-grid{padding-top:14px}.pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;color:var(--muted);font-size:13px}@media (max-width: 980px){.app-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.logout-button{margin-top:0}.nav-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.catalog-toolbar{grid-template-columns:1fr}.audit-log-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-log-toolbar .filter-label,.audit-log-toolbar .filter-label:nth-of-type(n+5){grid-column:auto}.toolbar-actions{justify-content:stretch;margin-left:0}.toolbar-actions button{width:100%}.catalog-summary,.user-form-layout{grid-template-columns:1fr}.tenant-form-panel.form-page.user-form-page{margin-right:12px;margin-left:12px}.user-permission-panel{position:static}.tenant-form-panel.form-page.project-create-page{margin-right:12px;margin-left:12px}.project-create-form{grid-template-columns:1fr}.project-create-rules{position:static}.project-kpi-metrics-four,.project-kpi-secondary-groups,.word-package-execution-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.word-package-refresh-button{width:100%}}@media (max-width: 640px){.project-customer-picker,.project-fixed-policy,.project-kpi-metrics-four,.project-kpi-secondary-groups{grid-template-columns:1fr}.project-kpi-group-head{align-items:flex-start;flex-direction:column}.audit-log-toolbar,.word-package-execution-toolbar{grid-template-columns:1fr}.word-package-execution-head{align-items:stretch;flex-direction:column}}
