:root{--navy:#0f2f57;--navy2:#071f3b;--teal:#159a96;--teal-dark:#08736f;--teal-light:#e8f7f6;--bg:#f1f5f8;--surface:#fff;--ink:#182a40;--muted:#66788c;--line:#d6e0e8;--danger:#b82d21;--warning:#a86700;--shadow:0 12px 35px rgba(12,42,72,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}.topbar{height:78px;display:flex;align-items:center;gap:14px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,var(--navy),var(--teal));color:#fff;font-weight:800}.topbar h1{font-size:18px;margin:2px 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:var(--teal);margin:0}.project-context{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--muted)}select,input,textarea{border:1px solid #c7d3dd;background:#fff;border-radius:9px;padding:9px 11px;font:inherit;color:var(--ink)}.project-context select{min-width:220px}.version{font-size:11px;font-weight:800;color:var(--teal-dark);background:var(--teal-light);padding:7px 10px;border-radius:999px}.header-link,.header-button{border:0;background:#eef3f7;color:var(--navy);padding:9px 12px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:800;cursor:pointer}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 78px)}.sidebar{background:var(--navy2);padding:20px 14px;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:4px}.sidebar nav button{border:0;background:transparent;color:#bdcad7;text-align:left;padding:11px 14px;border-radius:9px;font-weight:700;cursor:pointer}.sidebar nav button:hover,.sidebar nav button.active{background:rgba(255,255,255,.1);color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--teal)}.sidebar-note{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:11px;display:grid;gap:6px;color:#fff;font-size:11px}.sidebar-note span{color:#aebdcb;line-height:1.45}main{padding:28px;min-width:0}.workspace-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.workspace-title h2{font-size:29px;color:var(--navy);margin:5px 0 7px}.workspace-title>div>p:last-child{color:var(--muted);margin:0}.workspace-actions{display:flex;gap:8px;flex-wrap:wrap}.workspace-content{display:grid;gap:18px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.card{background:var(--surface);border:1px solid #e0e7ed;border-radius:15px;padding:20px;box-shadow:var(--shadow);min-width:0}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.metric span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.metric strong{display:block;font-size:28px;color:var(--navy);margin-top:8px}.card h3{margin:0 0 13px;color:var(--navy)}.card h4{margin:0 0 8px;color:var(--navy)}.muted{color:var(--muted);font-size:12px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar input{min-width:230px}.toolbar select{min-width:170px}.button{border:0;border-radius:9px;padding:10px 13px;font-weight:800;cursor:pointer}.button.small{font-size:11px;padding:7px 9px}.button.primary{background:var(--teal);color:#fff}.button.secondary{background:#eaf0f5;color:var(--navy)}.button.danger{background:#ffebe8;color:var(--danger)}.button.warning{background:#fff1d9;color:var(--warning)}.button:disabled{opacity:.45;cursor:not-allowed}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:#fff;background:var(--navy);padding:9px;position:sticky;top:77px}.data-table td{padding:9px;border-bottom:1px solid var(--line);vertical-align:top}.data-table tbody tr:hover{background:#f7fafb}.data-table .actions-cell{display:flex;gap:5px;flex-wrap:wrap}.badge{display:inline-block;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800;background:#edf2f6;color:#526578}.badge.active,.badge.available,.badge.approved{background:#e5f7ee;color:#087443}.badge.inactive,.badge.archived,.badge.sold{background:#f1f1f1;color:#666}.badge.draft{background:#fff1d9;color:#8b5700}.project-card{border-left:4px solid var(--teal)}.project-card .project-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.project-links{display:flex;flex-wrap:wrap;gap:6px}.project-links button{border:0;background:#eef5f7;color:var(--teal-dark);padding:6px 8px;border-radius:7px;font-size:10px;font-weight:800;cursor:pointer}.empty{padding:32px;text-align:center;color:var(--muted);background:#fafcfd;border:1px dashed var(--line);border-radius:12px}.notice{margin-bottom:16px;padding:12px 14px;border-radius:10px;background:#e9f7ef;color:#087443;border:1px solid #bfe8d0}.notice.error{background:#fff0ee;color:var(--danger);border-color:#f2c8c3}.hidden{display:none!important}.rule-group{border-left:4px solid var(--teal)}.segment-list{display:flex;gap:5px;flex-wrap:wrap}.segment{font:10px Consolas,monospace;background:#edf2f6;padding:4px 6px;border-radius:5px}.activity{display:grid;gap:8px}.activity-item{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.activity-item strong{font-size:12px}.activity-item span{font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#42566b}.form-grid .wide{grid-column:span 2}.form-grid .check{display:flex;align-items:center;gap:8px}.form-grid .check input{width:auto}.computed{padding:11px;background:var(--teal-light);border-radius:9px;color:var(--teal-dark);font-weight:800}.upload-panel{border:1px dashed #a8bbc9;background:#f8fbfc;border-radius:12px;padding:15px}.upload-panel pre{white-space:pre-wrap;max-height:240px;overflow:auto;background:#edf2f6;padding:10px;border-radius:8px;font-size:10px}dialog{width:min(780px,calc(100vw - 30px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(6,24,45,.55)}dialog header{display:flex;justify-content:space-between;align-items:start;padding:20px 22px;border-bottom:1px solid var(--line)}dialog h3{margin:4px 0 0;color:var(--navy);font-size:21px}.icon-button{border:0;background:#edf2f6;border-radius:50%;width:31px;height:31px;font-size:20px;cursor:pointer}.dialog-body{padding:20px 22px;max-height:65vh;overflow:auto}dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:15px 22px;border-top:1px solid var(--line)}.loading{padding:50px;text-align:center;color:var(--muted)}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:static;padding:10px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.sidebar-note{display:none}.span-3,.span-4,.span-6,.span-8{grid-column:span 12}.topbar{flex-wrap:wrap;height:auto;padding:12px}.project-context{order:2;margin-left:0;width:100%}.project-context select{flex:1}.data-table{display:block;overflow:auto}.data-table th{top:0}main{padding:20px 14px}}

/* Administration Workspace layer scale and responsive dialog shell. */
:root{--ui-layer-content:1;--ui-layer-sticky:20;--ui-layer-popover:40;--ui-layer-tooltip:50;--ui-layer-toast:60;--ui-layer-modal-overlay:70;--ui-layer-modal:80}
#editorDialog{width:min(960px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));min-width:min(520px,calc(100vw - 32px));min-height:min(360px,calc(100vh - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);resize:both;overflow:hidden;z-index:var(--ui-layer-modal)}
#editorDialog::backdrop{background:rgba(6,24,45,.62)}
#editorDialog form{height:100%;min-height:0}
#editorDialog header,#editorDialog footer{flex:0 0 auto}
#editorDialog .dialog-body{min-height:0;max-height:none;overscroll-behavior:contain}
@media(max-width:600px){#editorDialog{width:calc(100vw - 16px);height:calc(100vh - 16px);min-width:0;min-height:0;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);resize:none}}

