@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--ink:#0e1116;--ink-rail:#0b0e13;--ink-2:#12171e;--ink-3:#141a21;--ink-4:#0f141a;--line:#262e38;--line-soft:#1f2731;--line-faint:#1a2028;--paper:#e6e9ed;--paper-dim:#8c96a3;--paper-faint:#6b7683;--amber:#efa92b;--amber-hi:#ffc154;--amber-bg:#1b1710;--amber-line:#4a3a18;--red:#e5534b;--red-soft:#f08a82;--teal:#6fd69a;--radius:8px;--radius-lg:12px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--ink);color:var(--paper);font-family:IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:14px}.display,h1,h2,h3{font-family:Archivo,system-ui,sans-serif;font-weight:700;letter-spacing:-.028em;margin:0}h1{font-size:1.9rem}h2{font-size:1.05rem}.num{font-family:IBM Plex Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}.eyebrow,a{color:var(--amber)}a,a:hover{text-decoration:none}a:hover{color:var(--amber-hi)}button{cursor:pointer}button,input,select,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:#5e6875}select option{background:#161b22;color:var(--paper)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#262e38;border-radius:6px}.btn{background:var(--amber);color:#171307;border:none;padding:.6rem .95rem;border-radius:var(--radius);font-weight:600;font-size:.85rem;line-height:1}.btn:hover{background:var(--amber-hi)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--ink-2);color:var(--paper);border:1px solid var(--line);padding:.55rem .9rem;border-radius:var(--radius);font-size:.85rem;line-height:1}.btn-ghost:hover{border-color:var(--amber)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.field{width:100%;background:var(--ink-3);border:1px solid var(--line);color:var(--paper);padding:.6rem .7rem;border-radius:var(--radius);font-size:.88rem}.field:focus{outline:none;border-color:var(--amber)}.field-label{display:block;font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-faint);margin:.9rem 0 .35rem}.shell{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink-rail);border-right:1px solid #1b212a;padding:1.1rem 0 .9rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;gap:.5rem;width:216px;flex-shrink:0;transition:width .15s ease}.sidebar.collapsed{width:62px}.sidebar .brand{font-family:Archivo,sans-serif;font-weight:800;font-size:.9rem;letter-spacing:.05em;color:var(--amber);white-space:nowrap;overflow:hidden}.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:0 .5rem;overflow-y:auto;flex:1 1}.sidebar nav a{display:flex;align-items:center;gap:.6rem;color:var(--paper-dim);padding:.55rem;border-radius:var(--radius);font-size:.86rem;font-weight:500;white-space:nowrap}.sidebar nav a:before{content:"";width:3px;height:15px;border-radius:2px;background:transparent;flex:none}.sidebar nav a:hover{background:var(--ink-3);color:var(--paper);text-decoration:none}.sidebar nav a.active{background:#1a212a;color:#fff;font-weight:600}.sidebar nav a.active:before{background:var(--amber)}.main{min-width:0}.page{padding:1.6rem 1.8rem 3rem;max-width:1120px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:rgba(14,17,22,.93);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #1b212a;padding:.6rem 1.2rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;min-height:48px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem;margin:1.3rem 0 1.8rem}.stat{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:.95rem 1rem}.stat .label{color:var(--paper-dim);font-size:.8rem}.stat .value{font-family:IBM Plex Mono,monospace;font-size:1.7rem;line-height:1;margin-top:.4rem;letter-spacing:-.02em}table{width:100%;border-collapse:collapse;font-size:.85rem}thead tr{background:var(--ink-4)}th{text-align:left;font-family:IBM Plex Mono,monospace;color:#59636f;font-weight:500;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line-soft)}td,th{padding:.7rem .75rem}td{border-bottom:1px solid var(--line-faint)}.tag{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:500;border:1px solid transparent}.tag.confirmed,.tag.published{background:rgba(111,214,154,.12);color:var(--teal);border-color:#24503a}.tag.pending{background:rgba(239,169,43,.12);color:var(--amber);border-color:var(--amber-line)}.tag.failed,.tag.rejected{background:rgba(229,83,75,.12);color:var(--red);border-color:#59302c}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:flex-start;padding:3vh 1rem;z-index:50;overflow-y:auto}.modal-panel{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:var(--radius-lg);width:100%;max-width:720px;padding:1.5rem 1.5rem 2rem}.modal-panel h2{font-size:1.15rem}.modal-close{background:none;border:none;color:var(--paper-dim);font-size:1.3rem;line-height:1}.site-picker{border:1px solid var(--line);border-radius:var(--radius);max-height:190px;overflow-y:auto;padding:.5rem .6rem;display:grid;grid-gap:.3rem;gap:.3rem;background:var(--ink-3)}.site-picker label{display:flex;gap:.5rem;font-size:.85rem;align-items:center}.ql-toolbar.ql-snow{border-color:var(--line)!important;border-radius:var(--radius) var(--radius) 0 0;background:var(--ink-4)}.ql-container.ql-snow{border-color:var(--line)!important;border-radius:0 0 var(--radius) var(--radius);background:var(--ink-3);font-family:inherit;font-size:.95rem}.ql-editor{min-height:220px;color:var(--paper)}.ql-editor.ql-blank:before{color:var(--paper-faint);font-style:normal}.ql-snow .ql-stroke{stroke:var(--paper-dim)}.ql-snow .ql-fill{fill:var(--paper-dim)}.ql-snow .ql-picker{color:var(--paper-dim)}.ql-snow .ql-picker-options{background:var(--ink-4)}.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke{stroke:var(--amber)}.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill{fill:var(--amber)}