:root{color-scheme:light;--color-primary: #346890;--color-primary-hover: #2c5778;--color-primary-tint: #eaf1f6;--color-primary-tint-strong: #d6e3ee;--color-on-primary: #ffffff;--color-accent: #ff6e00;--color-accent-strong: #c2410c;--color-accent-tint: #fff2e8;--color-canvas: #f3f4f6;--color-surface: #ffffff;--color-surface-alt: #f9fafb;--color-surface-overlay: #ffffff;--color-text-primary: #0a0a0a;--color-text-secondary: #6b6b6b;--color-text-muted: #9c9c9c;--color-border: #e6e8eb;--color-border-strong: #d1d5db;--color-success: #10b981;--color-success-tint: #e7f6f0;--color-warning: #eab308;--color-warning-tint: #fbf4e2;--color-error: #ef4444;--color-error-tint: #fcebeb;--color-success-text: #047857;--color-warning-text: #854d0e;--color-error-text: #b42318;--focus-ring: 0 0 0 3px rgba(52, 104, 144, .3);--shadow-widget: 0 1px 2px rgba(10, 10, 10, .04), 0 2px 8px rgba(10, 10, 10, .05);--shadow-hover: 0 8px 30px rgba(10, 10, 10, .08);--shadow-overlay: 0 12px 32px rgba(10, 10, 10, .14);--shadow-primary: 0 4px 12px rgba(52, 104, 144, .3);--font-display: "General Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;--font-body: "DM Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--text-page-title: 24px;--text-subhead: 18px;--text-metric: 30px;--text-body: 15px;--text-small: 13px;--text-caption: 12px;--text-overline: 11px;--radius-chip: 4px;--radius-control: 8px;--radius-card: 12px;--radius-widget: 16px;--radius-full: 9999px;--sidebar-w: 248px;--topbar-h: 60px;--container-max: 1440px}[data-theme=dark]{color-scheme:dark;--color-canvas: #0f1012;--color-surface: #1a1b1e;--color-surface-alt: #25272b;--color-surface-overlay: #2e3035;--color-text-primary: #ecedf0;--color-text-secondary: #a2a6ad;--color-text-muted: #6e7278;--color-border: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .18);--color-primary: #5b9bd5;--color-primary-hover: #6fa9dc;--color-primary-tint: rgba(91, 155, 213, .16);--color-primary-tint-strong: rgba(91, 155, 213, .28);--color-on-primary: #0f1012;--color-accent: #ff8534;--color-accent-strong: #ff8534;--color-accent-tint: rgba(255, 133, 52, .16);--color-success: #34d399;--color-success-tint: rgba(52, 211, 153, .16);--color-success-text: #34d399;--color-warning: #fbbf24;--color-warning-tint: rgba(251, 191, 36, .16);--color-warning-text: #fbbf24;--color-error: #f87171;--color-error-tint: rgba(248, 113, 113, .16);--color-error-text: #f87171;--focus-ring: 0 0 0 3px rgba(91, 155, 213, .45);--shadow-widget: none;--shadow-primary: none}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-body);line-height:1.5}h1,h2,h3,.head{font-family:var(--font-display);color:var(--color-text-primary);font-weight:700;letter-spacing:-.03em;margin:0 0 .5em}h1,.head{font-size:var(--text-page-title)}h2{font-size:var(--text-subhead)}a{color:var(--color-primary)}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{height:var(--topbar-h);display:flex;align-items:center;padding:0 20px;font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.02em;color:var(--color-text-primary);text-decoration:none;border-bottom:1px solid var(--color-border)}.brand .dot,.sidebar-brand .dot{color:var(--color-accent)}.nav-section{display:flex;flex-direction:column;gap:4px;padding:16px 12px 0}.nav-section:last-of-type{padding-bottom:16px}.nav-overline{font-size:var(--text-small);font-weight:600;letter-spacing:.02em;color:var(--color-text-secondary);padding:8px 12px;border-radius:var(--radius-control)}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;font-family:inherit;text-align:left;cursor:pointer;transition:background .2s,color .2s}.nav-group-toggle:hover{background:var(--color-surface-alt);color:var(--color-text-primary)}.nav-group-toggle.nav-group-active{background:var(--color-primary-tint);color:var(--color-text-primary);font-weight:700}.nav-caret{font-size:14px;line-height:1}.pp-split{display:flex;gap:16px;align-items:flex-start}.pp-list{flex:1 1 55%;max-height:52vh;overflow-y:auto}.pp-preview{flex:1 1 45%;max-height:52vh;overflow-y:auto;border-left:1px solid var(--color-border);padding-left:16px}.pp-grid{display:grid;gap:8px;margin-top:6px}.pp-cell{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-control);padding:6px;cursor:grab;background:var(--color-surface)}.pp-cell.dragging{opacity:.4}.pp-cell img{display:block;width:100%;height:auto;border-radius:4px}.pp-noimg{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:var(--text-caption);background:var(--color-surface-alt);border-radius:4px}.pp-name{font-size:var(--text-caption);line-height:1.4;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pp-pos{position:absolute;top:8px;left:8px;z-index:1;background:var(--color-primary);color:#fff;border-radius:999px;padding:0 7px;font-size:var(--text-small);pointer-events:none}.pp-remove{position:absolute;top:2px;right:2px;z-index:1;padding:0 6px;background:var(--color-surface);border-radius:999px}.nav-subhead{display:block;margin:10px 0 2px;padding-left:12px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.nav-children>.nav-subhead:first-child,.nav-children>*:first-child .nav-subhead{margin-top:2px}.nav-children{display:flex;flex-direction:column;gap:2px;margin-left:18px;padding-left:12px;border-left:2px solid var(--color-border-strong)}.navitem{position:relative;display:flex;align-items:center;gap:8px;height:38px;padding:0 10px;border-radius:var(--radius-control);color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:var(--text-body);transition:background .2s,color .2s}.navitem:before{content:"";position:absolute;left:-12px;top:50%;width:8px;height:2px;background:var(--color-border-strong)}.navitem:hover{background:var(--color-surface-alt)}.navitem.active{background:var(--color-primary-tint);color:var(--color-primary);font-weight:600}.sidebar-foot{padding:12px;border-top:1px solid var(--color-border);margin-top:auto}.sidebar-foot .langswitch{width:100%}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);flex-shrink:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;position:sticky;top:0;z-index:10}.sidebar-hidden .sidebar{display:none}.content{flex:1;padding:24px;max-width:var(--container-max);width:100%;margin:0 auto}@media (min-width: 1024px){.content{padding:32px}}@media (max-width: 768px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--color-border)}.sidebar-brand{border-bottom:none}.nav-section{flex-direction:row;flex-wrap:wrap;padding:8px 12px;flex:initial}.navitem{height:36px}.sidebar-foot{border-top:none;margin-left:auto;border-left:1px solid var(--color-border)}}.btn{font-family:var(--font-body);font-weight:500;font-size:var(--text-small);border-radius:var(--radius-control);padding:0 16px;height:38px;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover{border-color:var(--color-border-strong);background:var(--color-surface-alt);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text-primary);background:var(--color-surface-alt)}.filerow .btn{height:28px;padding:0 10px;margin-left:8px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.widget,.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-widget);box-shadow:var(--shadow-widget);padding:24px}.field{margin-bottom:18px}.flabel{display:block;font-family:var(--font-body);font-weight:500;font-size:var(--text-small);margin-bottom:6px;color:var(--color-text-primary)}.help{font-size:var(--text-small);color:var(--color-text-secondary);margin:4px 0 0}input:not([type]),input[type=text],input[type=email],input[type=url],input[type=search],input[type=date],input[type=datetime-local],input[type=time],input[type=number],input[type=password],select,textarea{width:100%;font-family:var(--font-body);font-size:var(--text-body);padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}textarea{min-height:110px;resize:vertical}input[type=time]{width:10rem}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.field-error{color:var(--color-error-text);font-size:var(--text-small);margin-top:4px}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,.navitem:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}table.zebra{width:100%;border-collapse:collapse}table.zebra th,table.zebra td{text-align:left;padding:12px 14px;font-size:var(--text-small);vertical-align:top}table.zebra th{font-size:var(--text-overline);text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}table.zebra td{border-bottom:1px solid var(--color-border)}table.zebra tbody tr:last-child td{border-bottom:none}table.zebra tbody tr:hover{background:var(--color-surface-alt)}.badge{display:inline-block;font-family:var(--font-body);font-weight:500;font-size:var(--text-caption);border-radius:var(--radius-full);padding:4px 12px;white-space:nowrap}.badge-open{background:var(--color-surface-alt);color:var(--color-text-secondary)}.badge-progress{background:var(--color-warning-tint);color:var(--color-warning-text)}.badge-done{background:var(--color-success-tint);color:var(--color-success-text)}.badge-blocked{background:var(--color-error-tint);color:var(--color-error-text)}.notice{border-radius:var(--radius-control);padding:12px 14px;margin:12px 0;font-size:var(--text-small);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notice-success{background:var(--color-success-tint);color:var(--color-success-text)}.notice-info{background:var(--color-primary-tint);color:var(--color-primary)}.notice-warning{background:var(--color-warning-tint);color:var(--color-warning-text)}.notice-error{background:var(--color-error-tint);color:var(--color-error-text)}.notice button{background:none;border:none;cursor:pointer;color:inherit;font-size:16px;line-height:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a66;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{background:var(--color-surface-overlay);border-radius:var(--radius-widget);box-shadow:var(--shadow-overlay);border:1px solid var(--color-border);max-width:480px;width:100%;padding:28px;text-align:center}.modal-close{position:sticky;top:0;float:right;z-index:1;padding:0 4px;border:0;background:none;color:var(--color-text-muted);font-size:18px;line-height:1.2;cursor:pointer}.modal-close:hover{color:var(--color-text-primary)}.dl{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;font-size:var(--text-small)}.dl dt{color:var(--color-text-secondary);font-weight:500}.dl dd{margin:0;word-break:break-word}.comment{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:12px 14px;margin-bottom:10px;background:var(--color-surface)}.comment .meta{font-size:var(--text-caption);color:var(--color-text-secondary);margin-bottom:4px}.comment .body{white-space:pre-wrap}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.mt{margin-top:16px}.mt-lg{margin-top:32px}.muted{color:var(--color-text-secondary)}.langswitch{border:1px solid var(--color-border);border-radius:var(--radius-control);background:none;padding:6px 10px;font-size:var(--text-small);cursor:pointer;color:var(--color-text-secondary)}.langswitch:hover{background:var(--color-surface-alt)}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary)}.grid{display:grid;gap:20px;grid-template-columns:1fr}@media (min-width: 700px){.grid{grid-template-columns:1fr 1fr}}@media (min-width: 1000px){.grid{grid-template-columns:1fr 1fr 1fr}}.big-actions{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0 40px}.big-actions .btn{height:48px;font-size:var(--text-body);padding:0 28px}.record{display:flex;gap:16px;align-items:flex-start;text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s,transform .2s}.record:hover{box-shadow:var(--shadow-hover);border-color:var(--color-border-strong);transform:translateY(-1px)}.record .thumb{width:72px;height:72px;flex:0 0 72px;border-radius:var(--radius-control);background:var(--color-surface-alt);object-fit:contain;border:1px solid var(--color-border)}.record .meta{font-size:var(--text-small);color:var(--color-text-secondary);word-break:break-all}.record .rtitle{font-weight:500;font-size:var(--text-body);color:var(--color-text-primary);margin-bottom:4px}.chip{display:inline-block;font-size:var(--text-caption);font-weight:500;border-radius:var(--radius-full);padding:2px 10px;margin:2px 4px 2px 0}.chip-tag{background:var(--color-surface-alt);color:var(--color-text-secondary)}.chip-tracking{background:var(--color-primary-tint);color:var(--color-primary)}.chip-qr{background:var(--color-accent-tint);color:var(--color-accent-strong)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border);margin-bottom:24px}.tab{padding:10px 18px;font-family:var(--font-body);font-weight:500;font-size:var(--text-small);border:none;background:none;cursor:pointer;color:var(--color-text-secondary);border-bottom:2px solid transparent}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.stepper{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:8px;font-size:var(--text-small);font-weight:500;color:var(--color-text-secondary)}.step .num{width:26px;height:26px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-alt);color:var(--color-text-secondary)}.step.active .num{background:var(--color-primary);color:var(--color-on-primary)}.step.done .num{background:var(--color-primary-tint);color:var(--color-primary)}.checkbox{display:flex;align-items:center;gap:8px;font-weight:500;font-size:var(--text-small);cursor:pointer}.radio-row{display:flex;gap:16px;flex-wrap:wrap}.radio-row label{display:flex;align-items:center;gap:6px;cursor:pointer}.reveal{border-left:3px solid var(--color-border-strong);padding-left:16px;margin-top:12px}.copyfield{display:flex;gap:8px;align-items:stretch}.copyfield input{flex:1;min-width:0}.copyfield .btn{white-space:nowrap}.modal img.qr{width:220px;height:220px;border:1px solid var(--color-border);border-radius:var(--radius-control);margin:8px auto 16px;display:block}.cal-breakout{width:calc(100vw - var(--sidebar-w));position:relative;left:50%;transform:translate(-50%);padding-inline:24px;box-sizing:border-box}@media (max-width: 700px){.cal-breakout{width:100%;left:auto;transform:none;padding-inline:0}}.cal-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.cal-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-weeklabel{font-weight:600;margin-left:4px}.cal-toggles{display:flex;gap:6px}.cal-toggle{cursor:pointer;border:none}.cal-toggle-off{opacity:.4}.cal-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.cal-filters input[type=text]{flex:0 1 320px}.cal-multi{position:relative}.cal-multi summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.cal-multi summary::-webkit-details-marker{display:none}.cal-multi-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-primary);color:#fff;font-size:11px}.cal-multi-panel{position:absolute;z-index:20;right:0;left:auto;margin-top:4px;min-width:200px;max-height:300px;overflow-y:auto;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:0 6px 20px #0000001f}.cal-multi-opt{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;font-size:13px;cursor:pointer}.cal-multi-opt:hover{background:var(--color-surface-alt, rgba(0, 0, 0, .04))}.cal-multi-opt input{width:auto}.cal-multi-clear{display:block;width:100%;padding:4px;margin-bottom:4px;border:none;background:transparent;color:var(--color-primary);cursor:pointer;font-size:12px;text-align:left}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-control);overflow:hidden;height:calc(100vh - 360px);min-height:420px}.cal-day{display:flex;flex-direction:column;min-width:0;min-height:240px;background:var(--color-surface)}.cal-day-today .cal-dayhead{color:var(--color-primary)}.cal-dayhead{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border:none;border-bottom:1px solid var(--color-border);background:transparent;cursor:pointer;font-size:11px;color:var(--color-text-muted)}.cal-daynum{font-size:17px;font-weight:600;color:var(--color-text-primary)}.cal-entries{display:flex;flex-direction:column;gap:6px;padding:6px;flex:1;min-height:0;overflow-y:auto}.cal-entry{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:6px;border:1px solid var(--color-border);border-radius:6px;text-decoration:none;color:var(--color-text-primary);font-size:12px}.cal-entry:hover{background:var(--color-surface)}.cal-thumb{width:52px;height:52px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#fff}.cal-entry-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.cal-entry-name{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.cal-entry-tags{display:flex;flex-wrap:wrap;gap:4px}.badge-rerelease{background:#7c3aed;color:#fff;flex-shrink:0}.cal-upcoming{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1200px){.cal-upcoming{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.cal-upcoming{grid-template-columns:1fr}}.cal-upcoming-col{display:flex;flex-direction:column;gap:10px;min-width:0}.cal-upcoming-head{margin-bottom:2px}.cal-card-date{font-size:12px;margin-top:4px}.cal-daydetail{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.cal-card{display:flex;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-control);text-decoration:none;color:var(--color-text-primary)}.cal-card:hover{background:var(--color-surface)}.cal-card-thumb{width:64px;height:64px;border-radius:6px;object-fit:cover;flex-shrink:0}.cal-card-price{font-weight:600;margin-top:6px}.pd-grid{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:24px;align-items:start}@media (max-width: 720px){.pd-grid{grid-template-columns:1fr}}.pd-media{display:flex;flex-direction:column;gap:12px}.pd-image{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-control);object-fit:contain;background:#fff}.pd-table{width:100%;border-collapse:collapse}.pd-table th{text-align:left;vertical-align:top;padding:6px 12px 6px 0;color:var(--color-text-muted);font-weight:500;white-space:nowrap;width:1%}.pd-table td{padding:6px 0}.pd-desc{white-space:pre-wrap;line-height:1.6}.pd-copyright{font-size:11px}.pd-rerelease{margin-left:10px;vertical-align:middle;font-size:12px}.pd-actions{display:flex;flex-wrap:wrap;gap:8px}.pd-actions a.btn{text-decoration:none}.pd-info{display:flex;flex-direction:column}.pd-card{border:1px solid var(--color-border);border-radius:var(--radius-control);overflow:hidden}.pd-tabs{display:flex;border-bottom:1px solid var(--color-border)}.pd-tab{padding:10px 16px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-body);border-bottom:2px solid transparent}.pd-tab-active{color:var(--color-text-primary);border-bottom-color:var(--color-primary);font-weight:600}.pd-tabbody{padding:16px}.pd-block{margin-top:14px}.pd-bonus-img{width:72px}.pd-bonus-img img{display:block;width:64px;height:64px;object-fit:cover;border-radius:var(--radius-control)}.pd-bonus .pd-desc{margin-top:4px}.pd-region-summary{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:10px}.pd-licences{width:100%}.pd-lic-dates{margin-top:2px;font-size:var(--text-caption);color:var(--color-text-muted)}.pd-licences td:first-child,.pd-licences td:nth-child(3){white-space:nowrap}.pd-lic-invalid td{color:var(--color-text-muted)}.pd-subhead{margin:16px 0 8px;font-size:13px;color:var(--color-text-muted)}.pd-approval-title{margin:0 0 8px;font-weight:700}.approval-mark{font-weight:700}.approval-mark.ok{color:var(--color-success-text)}.pd-approval-chips{display:flex;flex-wrap:wrap;gap:6px}.approval-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-caption);border:1px solid var(--color-border);color:var(--color-text-muted)}.approval-chip.ok{color:var(--color-success-text);background:var(--color-success-tint);border-color:transparent}.pd-approval .pd-subhead{margin:10px 0 6px}.pd-approval-ok{background:var(--color-success-tint);border-color:var(--color-success)}.cal-approved{outline:2px solid var(--color-success);outline-offset:-2px;border-radius:var(--radius-control)}.json-view{max-height:60vh;overflow:auto;font-family:var(--font-mono, monospace);font-size:12px;line-height:1.5;white-space:pre;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:12px}.submit-layout{display:grid;gap:24px;align-items:start;grid-template-columns:1fr;max-width:1080px}@media (min-width: 900px){.submit-layout{grid-template-columns:minmax(280px,400px) minmax(0,640px)}}.submit-info{display:flex;flex-direction:column;gap:24px}.info-step{font-size:var(--text-body);margin:1em 0 .25em}.info-estimates{list-style:none;margin:0;padding:0}.info-estimates li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--color-border)}.info-estimates li:last-child{border-bottom:none}.stoplight{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:12px}.stoplight-dot{display:inline-block;flex:none;width:12px;height:12px;border-radius:var(--radius-full)}.stoplight-green .stoplight-dot,.stoplight-dot.stoplight-green{background:var(--color-success)}.stoplight-yellow .stoplight-dot,.stoplight-dot.stoplight-yellow{background:var(--color-warning)}.stoplight-red .stoplight-dot,.stoplight-dot.stoplight-red{background:var(--color-error)}.queue-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}.queue-metrics .metric-num{display:block;font-family:var(--font-display);font-size:var(--text-metric);font-weight:700;line-height:1.2}.queue-metrics .metric-label{display:block;font-size:var(--text-caption);color:var(--color-text-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-widget);padding:14px 16px;text-align:center}.kpi-highlight{border:1px solid var(--color-primary)}.kpi-num{display:block;font-family:var(--font-display);font-size:var(--text-metric);font-weight:700;line-height:1.2;overflow-wrap:anywhere}.kpi-label{display:block;font-size:var(--text-caption);color:var(--color-text-muted)}.chart-title{margin:0 0 4px}.ab-source{font-size:var(--text-caption);font-weight:400}.ab-highlight td{font-weight:700}.lp-capture-thumb{max-width:260px;max-height:320px;object-fit:contain;border:1px solid var(--border, #ddd);border-radius:6px;background:#fff}.ab-captures{display:flex;gap:1rem;align-items:flex-start}.ab-captures figure{flex:1 1 0;min-width:0;margin:0;text-align:center}.ab-captures img{width:100%;max-height:480px;object-fit:contain;object-position:top;border:1px solid var(--border, #ddd);border-radius:6px;background:#fff}.ab-captures figcaption{font-size:var(--text-caption);margin-top:.35rem}.ab-capture-missing{border:1px dashed var(--border, #ddd);border-radius:6px;padding:2rem 0}.promo-controls{flex-wrap:wrap}.promo-controls input,.promo-controls select{width:auto}.combo-option{display:flex;gap:8px;align-items:center;width:100%;text-align:left;margin-top:4px}.combo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:480px}.changelog{max-width:760px}.changelog ul{margin:8px 0 0;padding-left:20px}.changelog li{margin-bottom:6px}.app-footer a{color:inherit}.kpi-delta{display:block;font-size:var(--text-caption);margin-top:2px}.delta-good{color:var(--color-success-text)}.delta-bad{color:var(--color-error-text)}.budget-input{width:120px}.ads-table td,.ads-table th{white-space:nowrap}.tag-badge{margin-right:6px}.funnel-ref td{border-top:2px solid var(--color-border-strong);color:var(--color-text-secondary)}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.print-only{display:none}@media print{.sidebar,.topbar,.app-footer,.feedback-fab,.no-print{display:none!important}.content{padding:12px!important}.widget,.card,.kpi{box-shadow:none;border:1px solid var(--color-border);break-inside:avoid}.print-only{display:block!important}.print-header{font-size:var(--text-caption);color:var(--color-text-muted);margin-bottom:8px}}.workload-control{align-items:center}.type-head input,.type-meta input,.field-row input,.field-row select{width:auto;flex:1;min-width:140px}.type-head .type-label{flex:1;min-width:160px}.type-head .type-order{width:72px;flex:none}.field-row{flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--color-border)}.field-row input,.field-row select{min-width:120px}.field-row label.row{gap:4px;white-space:nowrap}.feedback-fab{position:fixed;right:20px;bottom:20px;z-index:60;padding:10px 16px;border:none;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;font-size:var(--text-small);cursor:pointer;box-shadow:var(--shadow-widget, 0 4px 12px rgba(0, 0, 0, .18))}.feedback-fab:hover{background:var(--color-primary-hover)}.feedback-panel{position:fixed;right:20px;bottom:72px;z-index:60;width:min(340px,calc(100vw - 40px))}.feedback-panel textarea{width:100%}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}tr.row-target td{background:color-mix(in srgb,var(--color-primary, #346890) 12%,transparent)}.comment-shared{margin-left:8px}.search-range{align-items:center;margin-top:8px}.search-range-label{min-width:96px;margin:0}.search-range input[type=date]{width:auto}.search-thumb{width:44px;height:44px;object-fit:cover;border-radius:var(--radius-chip);border:1px solid var(--color-border);display:block}.search-name{color:inherit}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:9vh 16px 0}.home-logo{display:flex;align-items:baseline;font-size:72px;letter-spacing:-.04em;margin-bottom:4px}.home-smile{width:.42em;height:.42em;margin-left:.08em}.brand-smile{width:.55em;height:.55em;margin-left:3px;transform:translateY(.16em)}.home-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px}.home-actions .btn{height:46px;padding:0 24px;font-size:var(--text-body)}.app-footer{padding:10px 24px;text-align:center;font-size:var(--text-overline);color:var(--color-text-muted)}.qr-figure{display:flex;flex-direction:column;align-items:center}.badge-b2b{background:var(--color-surface-alt);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge-site{background:var(--color-primary-tint);color:var(--color-primary)}.guide{max-width:760px}.guide-toc{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.guide-toc a{text-decoration:none}.guide-section{margin-bottom:20px;scroll-margin-top:calc(var(--topbar-h) + 12px)}.guide-section p{color:var(--color-text-secondary)}.guide-list{color:var(--color-text-secondary);padding-left:22px;margin:8px 0}.guide-list li{margin-bottom:4px}.composer-grid{display:grid;grid-template-columns:minmax(320px,2fr) 3fr;gap:24px;align-items:start;margin-top:12px}.composer-page{height:calc(100vh - var(--topbar-h) - 70px);min-height:520px;display:flex;flex-direction:column}.composer-page .composer-grid{flex:1;min-height:0;align-items:stretch}.composer-left{overflow-y:auto;min-height:0;padding-right:8px}.composer-head{padding:0 0 8px}.composer-head .composer-title{font-size:18px;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-preview{min-height:0;display:flex;flex-direction:column}.composer-preview iframe{flex:1;min-height:0}@media (max-width: 900px){.composer-grid{grid-template-columns:1fr}.composer-page{height:auto;min-height:0;display:block}.composer-left{overflow-y:visible;padding-right:0}.composer-preview{height:70vh}}.sec-head{font-weight:700;margin-top:12px}.account-filter-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:340px;max-height:60vh;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.account-filter-row{gap:8px;padding:2px 0;cursor:pointer}.account-filter-row span:last-child{margin-left:auto;font-size:.85em}.modal-wide{max-width:1000px;text-align:left;max-height:90vh;overflow-y:auto}.post-card{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-alt);padding:14px 16px;margin-top:10px}.post-card-head{display:flex;align-items:center;gap:10px}.post-card-head .muted{font-weight:700}.post-card-head .btn{margin-left:auto}.post-card-head .btn-ghost{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-primary);padding:4px 12px}.post-card-head .btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-tint)}.post-card-text{white-space:pre-wrap;margin:8px 0 0;line-height:1.6}.post-card-media{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.post-card-media img{width:160px;height:160px;object-fit:cover;border-radius:10px;border:1px solid var(--color-border)}.plan-drag-row{cursor:grab;-webkit-user-select:none;user-select:none}.plan-drag-row.dragging{opacity:.45;border-style:dashed;border-color:var(--color-primary)}.drag-handle{color:var(--color-text-muted);cursor:grab;font-size:14px;letter-spacing:-2px}.plan-grid{display:grid;grid-template-columns:minmax(130px,170px) repeat(7,minmax(58px,1fr));gap:8px;align-items:stretch;margin-top:8px}.plan-grid-head{font-size:.82em;color:var(--color-text-secondary);text-align:center;align-self:end;line-height:1.3}.plan-row-label{display:flex;flex-direction:column;justify-content:center;font-weight:600;font-size:.88em;line-height:1.3;padding-right:4px}.plan-box{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-alt);padding:12px 4px;text-align:center;font-weight:700;font-size:1.05em;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease}.plan-box:hover{box-shadow:var(--shadow-overlay);transform:translateY(-1px);border-color:var(--color-primary)}.plan-box.plan-met{background:var(--color-success-tint);border-color:var(--color-success)}.plan-box.plan-short{background:var(--color-error-tint);border-color:var(--color-error)}.plan-quota-grid input{width:4.5rem;padding:8px 4px;text-align:center;font-weight:700}.plan-quota-grid td,.plan-quota-grid th{padding:4px 3px;text-align:center}.plan-quota-grid td.combo-name{text-align:left}.plan-media-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.plan-media-thumb{width:200px;height:200px;object-fit:contain;border-radius:8px;border:2px solid var(--color-border);cursor:pointer;transition:border-color .12s ease,transform .12s ease}.plan-media-thumb:hover{transform:scale(1.04)}.plan-media-thumb.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-tint-strong)}.char-count.over{color:var(--color-error-text);font-weight:600}.plan-media-thumb[draggable=true]{cursor:grab}.plan-media-thumb.dragging{opacity:.4}.plan-media-order{position:absolute;bottom:6px;left:6px;background:var(--color-primary);color:#fff;border-radius:999px;padding:0 7px;font-size:var(--text-small);pointer-events:none}.plan-media-selected{position:relative;display:inline-flex}.plan-media-selected .btn{position:absolute;top:-8px;right:-8px;padding:0 6px;background:var(--color-surface);border-radius:999px}button.chip{border:none;cursor:pointer;font-family:inherit}.facet-row{align-items:center;flex-wrap:wrap;gap:4px;margin-top:8px}.facet-label{font-size:var(--text-caption);min-width:5.5rem}.cat-card{display:flex;flex-direction:column;gap:8px;padding:16px}.cat-cover{display:flex;align-items:center;justify-content:center;height:150px;background:var(--color-surface-alt);border-radius:var(--radius-card);overflow:hidden}.cat-cover img{max-width:100%;max-height:100%;object-fit:contain}.cat-title{font-weight:600}.pdp{display:grid;gap:28px;grid-template-columns:1fr;margin-top:12px}@media (min-width: 860px){.pdp{grid-template-columns:minmax(0,420px) minmax(0,1fr)}}.pdp-hero{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:var(--color-surface-alt);border-radius:var(--radius-widget);overflow:hidden}.pdp-hero img{max-width:100%;max-height:100%;object-fit:contain}.pdp-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pdp-thumb{width:64px;height:64px;padding:2px;background:var(--color-surface-alt);border:1px solid transparent;border-radius:var(--radius-card);cursor:pointer;overflow:hidden}.pdp-thumb.selected{border-color:var(--color-primary)}.pdp-thumb img{width:100%;height:100%;object-fit:contain}.pdp-brand{font-weight:700;color:var(--color-primary);font-size:var(--text-caption);letter-spacing:.06em}.pdp-name{margin:4px 0 6px}.pdp-catch{color:var(--color-primary);font-weight:600}.pdp-price{font-size:1.6rem;font-weight:700;margin:10px 0 8px}.pdp-desc{white-space:pre-line;margin-top:14px}.pdp-section{font-size:1.05rem;margin:32px 0 10px;padding-left:10px;border-left:4px solid var(--color-primary)}.spec-table{width:100%;border-collapse:collapse}.spec-table th,.spec-table td{border:1px solid var(--color-border);padding:10px 14px;text-align:left;vertical-align:top}.spec-table th{width:14rem;background:var(--color-surface-alt);font-weight:600;white-space:nowrap}.spec-table td{white-space:pre-line}.spec-table tr.deadline td{color:var(--color-danger, #c0392b);font-weight:700}.cv{--cv-accent: var(--color-primary)}.cv-toc{display:flex;flex-wrap:wrap;gap:4px;margin:16px 0 8px}.cv-toc a{text-decoration:none}.cv-section{padding:28px 0;border-top:1px solid var(--color-border);scroll-margin-top:16px}.cv-section:first-of-type{border-top:none}.cv-kicker{font-size:var(--text-caption);font-weight:700;letter-spacing:.14em;color:var(--cv-accent);text-transform:uppercase}.cv-title{font-size:1.6rem;margin:4px 0 14px}.cv-logo{display:flex;justify-content:center;padding:20px;background:var(--color-surface-alt);border-radius:var(--radius-widget)}.cv-logo img{max-height:110px;max-width:100%;object-fit:contain}.cv-intro{margin:16px 0;white-space:pre-line}.cv-stats{display:flex;flex-wrap:wrap;gap:12px}.cv-stat{flex:1 1 140px;display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--color-surface-alt);border-radius:var(--radius-card)}.cv-stat-label{font-size:var(--text-caption);color:var(--color-text-secondary)}.cv-stat-value{font-size:1.4rem;font-weight:700;color:var(--cv-accent)}.cv-features{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cv-feature{padding:16px;background:var(--color-surface-alt);border-radius:var(--radius-card);text-align:center}.cv-feature img{max-height:56px;margin-bottom:8px}.cv-feature-title{font-weight:700;color:var(--cv-accent)}.cv-heroes{display:flex;flex-wrap:wrap;gap:12px}.cv-heroes img{max-height:320px;max-width:100%;object-fit:contain;border-radius:var(--radius-card);background:var(--color-surface-alt)}.cv-kvs{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cv-kv{padding:12px 14px;background:var(--color-surface-alt);border-radius:var(--radius-card)}.cv-kv-label{font-size:var(--text-caption);font-weight:700;color:var(--cv-accent)}.scrollx{overflow-x:auto}.acjump{padding:0;font-family:var(--font-mono);font-size:var(--text-small)}.acsettings{font-family:var(--font-mono);font-size:var(--text-caption)}.acinline{gap:6px;align-items:center;white-space:nowrap}.statedot{flex:0 0 auto;margin-top:5px;width:9px;height:9px;border-radius:50%;background:var(--color-text-muted)}.statedot-planned{background:var(--color-warning)}.statedot-building{background:var(--color-primary)}.statedot-running{background:var(--color-success)}.statedot-missing{background:var(--color-error)}.statedot-pausing{background:var(--color-primary);opacity:.4}.statedot-overdue{background:var(--color-success);opacity:.4}.statedot-ended{background:var(--color-text-muted)}.statedot-unplanned{background:#7c5cd6}.statedot-untracked{background:none;border:1px solid var(--color-border-strong)}.statechip{font-size:var(--text-caption);padding:2px 8px;border-radius:10px;white-space:nowrap;background:var(--color-canvas);color:var(--color-text-secondary)}.statechip-planned{background:var(--color-warning-tint);color:var(--color-warning-text)}.statechip-building{background:var(--color-primary-tint);color:var(--color-primary)}.statechip-running{background:var(--color-success-tint);color:var(--color-success-text)}.statechip-missing{background:var(--color-error-tint);color:var(--color-error-text)}.statechip-pausing{background:var(--color-primary-tint);color:var(--color-text-secondary)}.statechip-overdue{background:var(--color-success-tint);color:var(--color-text-secondary)}.statechip-unplanned{background:#ece7fb;color:#5b3fb0}.blockedwhy{flex:0 0 auto;font-size:var(--text-caption);color:var(--color-text-muted);white-space:nowrap;margin-left:6px}.fieldgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.fieldbox{border:1px solid var(--color-border);border-radius:4px;padding:7px 9px;display:flex;flex-direction:column;gap:3px;min-width:0;background:var(--color-surface)}.fieldbox-bad{background:var(--color-error-tint);border-color:var(--color-error)}.fieldbox-name{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-text-secondary);overflow-wrap:anywhere}.fieldbox-actual{font-size:var(--text-small);font-weight:500;overflow-wrap:anywhere}.fieldbox-want{display:flex;align-items:center;gap:4px}.fieldbox-want input{flex:1;min-width:0;font-size:var(--text-caption);padding:3px 6px}.fieldbox-edit{font-size:var(--text-caption);padding:2px 6px;flex:0 0 auto}.taxchip{display:inline-flex;align-items:center;gap:2px;background:var(--color-primary-tint);border-radius:3px;padding:1px 2px 1px 6px;margin:0 4px 4px 0}.taxchip-x{padding:0 4px;font-size:var(--text-caption)}.rulename{border:1px dashed var(--color-border-strong);border-radius:4px;padding:8px 10px;margin-bottom:8px}.fieldbox-derived{flex:1;min-width:0;font-size:var(--text-caption);color:var(--color-text-secondary);font-style:italic;overflow-wrap:anywhere}.violtoken{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-error-text);background:var(--color-error-tint);border-radius:3px;padding:0 5px;white-space:nowrap}.gallist{display:flex;flex-direction:column;gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:4px}.gallist-compact{max-height:420px;overflow-y:auto}.galrow{background:var(--color-surface)}.galrow-off{background:var(--color-surface-alt);opacity:.72}.galrow-head{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:7px 10px;cursor:pointer;color:inherit;text-align:left}.galrow-head:hover{background:var(--color-surface-alt)}.galrow-head:focus-visible{outline:none;box-shadow:var(--focus-ring)}.galthumb{width:44px;height:44px;object-fit:cover;border-radius:3px;flex:0 0 auto;background:var(--color-canvas)}.galthumb-none{display:inline-block;border:1px dashed var(--color-border-strong)}.galrow-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.galrow-name{font-size:var(--text-small);font-weight:500;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.galrow-head .statechip{flex:0 0 auto}.galrow-head .help{overflow-wrap:anywhere}.galrow-body{padding:4px 12px 14px}.galrow-body input,.galrow-body select{width:100%;max-width:100%}.galcols{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}@media (min-width: 900px){.galcols{grid-template-columns:1fr minmax(260px,300px)}}@media (min-width: 1400px){.galcols{grid-template-columns:1fr 1fr minmax(260px,300px)}}.galvals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}@media (max-width: 900px){.galvals{grid-template-columns:minmax(0,1fr)}}.galvals-images{grid-template-columns:minmax(0,1fr)}.galval{display:flex;align-items:baseline;gap:8px;padding:4px 6px;border-bottom:1px solid var(--color-border);border-radius:3px;min-width:0}.galval-manual{background:var(--color-primary-tint)}.galval-label{flex:0 0 11em;font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-text-muted);overflow-wrap:anywhere}.galval-value{flex:1 1 auto;min-width:0;text-align:left;background:none;border:0;border-bottom:1px dashed transparent;padding:1px 2px;font-size:var(--text-small);color:inherit;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.galval-value:hover{border-bottom-color:var(--color-border-strong)}.galval-value:focus-visible{outline:none;box-shadow:var(--focus-ring)}.galval-edit{flex:1 1 auto;min-width:0}.galval-edit input,.galval-edit select{width:100%;font-size:var(--text-small);padding:2px 6px}.galval-edit textarea{width:100%;font-size:var(--text-small);padding:2px 6px;resize:vertical}.galimg{align-items:center}.galimg-preview{flex:0 0 34px;width:34px;height:48px;object-fit:cover;border-radius:3px;background:var(--color-bg-inset, #eee)}.galimg-none{display:inline-block}.cropmodal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.cropmodal{background:var(--color-bg, #fff);border-radius:8px;padding:16px;width:300px}.cropview{position:relative;overflow:hidden;margin:0 auto;background:#222;border-radius:4px;cursor:grab;touch-action:none}.cropview:active{cursor:grabbing}.cropview img{position:absolute;top:0;left:0;max-width:none;-webkit-user-select:none;user-select:none;pointer-events:none}.cropgrid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px #00000059;background-image:linear-gradient(#ffffff59,#ffffff59),linear-gradient(#ffffff59,#ffffff59),linear-gradient(#ffffff59,#ffffff59),linear-gradient(#ffffff59,#ffffff59);background-size:1px 100%,1px 100%,100% 1px,100% 1px;background-position:33.33% 0,66.66% 0,0 33.33%,0 66.66%;background-repeat:no-repeat}.galtoken{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;font-size:var(--text-caption);background:var(--color-primary);color:var(--color-on-primary);border-radius:9px;padding:0 4px 0 7px;white-space:nowrap}.galtoken-x{background:none;border:0;color:inherit;cursor:pointer;padding:0 3px;font-size:var(--text-caption);opacity:.75}.galtoken-x:hover{opacity:1}.galflags{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.galkv{margin:0;display:flex;flex-direction:column;gap:3px}.galkv-row{display:grid;grid-template-columns:minmax(70px,30%) 1fr;gap:4px 10px;align-items:baseline;padding-bottom:3px;border-bottom:1px solid var(--color-border)}.galkv dt{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-text-muted);overflow-wrap:anywhere}.galkv dd{margin:0;font-size:var(--text-small);min-width:0;overflow-wrap:anywhere}.statechip-gal-listed{background:var(--color-success-tint);color:var(--color-success-text)}.statechip-gal-upcoming{background:var(--color-warning-tint);color:var(--color-warning-text)}.statechip-gal-excluded{background:var(--color-canvas);color:var(--color-text-secondary)}.statechip-gal-staging{background:var(--color-primary-tint);color:var(--color-primary)}.statechip-gal-unpromoted{background:var(--color-accent-tint);color:var(--color-accent-strong)}.statechip-gal-halted{background:var(--color-surface-alt);color:var(--color-text-secondary);border:1px solid var(--color-border)}.fieldgroup{margin-top:10px}.fieldgroup-label{margin:0 0 3px;font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.abraw{font-family:var(--font-mono);font-size:var(--text-caption);white-space:pre-wrap;overflow-wrap:anywhere;max-width:520px}.abdiff td{background:var(--color-error-tint)}.acchain{display:flex;flex-direction:column;gap:14px}.acbox{border:1px solid var(--color-border);border-radius:4px;padding:12px 14px;background:var(--color-surface-alt)}.acbox-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.acbox-name{margin:2px 0 8px;max-width:none;overflow:visible;white-space:normal;overflow-wrap:anywhere}.accreative{display:flex;gap:12px;align-items:flex-start}.accreative img{width:96px;height:96px;object-fit:cover;border-radius:4px;flex:0 0 auto;background:var(--color-canvas)}.acctitle{margin:0 0 4px;font-weight:500;font-size:var(--text-small)}.actree-row{display:flex;align-items:flex-start;gap:2px;min-width:0}.acgroup{justify-content:space-between;font-family:var(--font-body)}.acgroup-label{font-weight:500}.acgroup-n{font-family:var(--font-mono);font-size:var(--text-caption)}.actree-caret{flex:0 0 auto;width:22px;padding:0;font-size:var(--text-caption)}.cp-split{display:flex;gap:20px;align-items:flex-start}.cp-tree{flex:0 1 clamp(400px,42vw,600px);min-width:0;max-height:70vh;overflow-y:auto;overflow-x:hidden}.cp-detail{flex:1 1 auto;min-width:0}@media (max-width: 900px){.cp-split{flex-direction:column}.cp-tree{flex:1 1 auto;width:100%;max-height:none}}.cptree,.cptree ul{list-style:none;margin:0;padding-left:0}.cptree ul{padding-left:10px;border-left:1px solid var(--color-border);margin-left:5px;min-width:0}.cptree-item{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:4px;padding:4px 6px;cursor:pointer;color:inherit;font-size:var(--text-small)}.cptree-item:hover{background:var(--color-surface-alt)}.cptree-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cptree-sel{background:var(--color-primary-tint)}.cptree-item .combo-name{min-width:0;max-width:none;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.cptree-add{font-size:var(--text-caption);padding:2px 6px}.cpdot{flex:0 0 auto;margin-top:5px;width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.cpdot-live{background:var(--color-success)}.cpdot-dark{background:var(--color-warning)}.cpdot-missing{background:var(--color-error)}.cpdot-unknown{background:none;border:1px solid var(--color-border-strong)}.anbuild{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.anbuild select,.anbuild input{width:100%}.anbuild-out{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--text-small)}.evtree-scroll{overflow-x:auto}.evtree{width:max-content;margin:0 auto}.evtree ul{display:flex;justify-content:center;align-items:flex-start;padding:20px 0 0;margin:0;list-style:none;position:relative}.evtree li{display:flex;flex-direction:column;align-items:center;position:relative;padding:20px 6px 0}.evtree li:before,.evtree li:after{content:"";position:absolute;top:0;right:50%;border-top:1px solid var(--color-border-strong);width:50%;height:20px}.evtree li:after{right:auto;left:50%;border-left:1px solid var(--color-border-strong)}.evtree li:only-child:before,.evtree li:only-child:after{display:none}.evtree li:only-child{padding-top:0}.evtree li:first-child:before,.evtree li:last-child:after{border:0 none}.evtree li:last-child:before{border-right:1px solid var(--color-border-strong);border-radius:0 6px 0 0}.evtree li:first-child:after{border-radius:6px 0 0}.evtree ul ul:before{content:"";position:absolute;top:0;left:50%;border-left:1px solid var(--color-border-strong);width:0;height:20px}.evtree>ul{padding-top:0}.evtree>ul>li{padding-top:0}.evtree>ul>li:before,.evtree>ul>li:after{display:none}.evbox{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-alt);font-family:var(--font-body);font-size:var(--text-small);color:var(--color-text-primary);white-space:nowrap}.evbox-scope{font-weight:600}button.evbox-leaf{background:var(--color-surface);cursor:pointer}button.evbox-leaf:hover{border-color:var(--color-primary);background:var(--color-primary-tint)}.evpick tbody tr{cursor:pointer}table.zebra tbody tr.evsel,table.zebra tbody tr.evsel:hover{background:var(--color-primary-tint)}.evlist{max-height:320px;overflow-y:auto}.evcopy{width:100%;font-family:var(--font-mono);font-size:var(--text-small)}.evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:10px;max-height:380px;overflow-y:auto}.evcard{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer;font-family:var(--font-body);font-size:var(--text-caption);color:var(--color-text-primary);text-align:left}.evcard:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-tint)}.evcard:disabled{opacity:.45;cursor:default}.evcard img,.evcard-noimg{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;background:var(--color-surface-alt)}.camp-product{display:flex;align-items:center;gap:8px;padding:2px 0}.camp-product img{width:40px;height:40px;object-fit:contain;background:var(--color-surface-alt);border-radius:var(--radius-card);flex:none}.camp-check{text-align:center;white-space:nowrap}.camp-date{white-space:nowrap}.ad-tokens{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px}.tok .combo-name{overflow:visible;text-overflow:clip;white-space:normal;max-width:none;word-break:break-all}.combo-token{display:inline-block;margin-right:6px;padding:0 5px;border-radius:var(--radius-full);background:var(--color-primary-tint);color:var(--color-primary);font-size:var(--text-caption);font-weight:700}.nd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a59;z-index:50;overflow-y:auto;padding:24px 16px}.nd-editor{max-width:1280px;margin:0 auto;box-shadow:var(--shadow-overlay)}.nd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.nd-thumb{margin:0;border:2px solid var(--color-border);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer}.nd-thumb img{width:100%;aspect-ratio:1;object-fit:contain;display:block;background:#fff}.nd-thumb figcaption{font-size:12px;padding:4px 6px;display:flex;justify-content:space-between;align-items:center;gap:4px}.nd-kept{border-color:var(--color-primary)}.nd-dropped{opacity:.45}.nd-parts{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:20px}@media (max-width: 900px){.nd-parts{grid-template-columns:1fr}}.nd-stage{position:relative;margin-top:8px;background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.nd-stage img{width:100%;display:block;-webkit-user-select:none;user-select:none}.nd-stage svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.nd-box{fill:#34689014;stroke:var(--color-primary);stroke-width:4;vector-effect:non-scaling-stroke;cursor:pointer}.nd-box-sel{stroke:var(--color-accent);fill:#ff6e001f}.nd-box-draft{stroke:var(--color-accent);stroke-dasharray:6 4;fill:#ff6e001a}.nd-box-label{font-size:32px;fill:var(--color-primary);paint-order:stroke;stroke:#fff;stroke-width:6px;pointer-events:none}.nd-part{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;border-radius:6px}.nd-part label{cursor:pointer;flex:1}.nd-part-sel{background:var(--color-primary-tint)}.nd-part-absent label{text-decoration:line-through;color:var(--color-text-muted)}.nd-name{background:none;border:0;padding:0;color:var(--color-primary);cursor:pointer;text-align:left;font:inherit}.nd-name:hover{text-decoration:underline}.nd-flags{border:1px solid var(--color-accent);background:var(--color-accent-tint);border-radius:8px;padding:10px 12px}.funnel-eq{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.funnel-eq-item{display:flex;align-items:center;gap:8px;flex:1 1 150px}.funnel-eq-item .kpi{flex:1}.funnel-op{font-size:var(--text-metric);color:var(--color-text-muted)}.camp-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.camp-card{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-control);text-decoration:none;color:var(--color-text-primary);min-width:0}.camp-card:hover{background:var(--color-surface)}.camp-card img,.camp-card-ph{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--color-surface)}.camp-card-ph{display:grid;place-items:center;font-size:40px;color:var(--color-text-secondary)}.camp-card-title{font-weight:600;overflow-wrap:anywhere}.camp-card-date{font-size:var(--text-caption)}.camp-card-work{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;font-size:var(--text-caption)}.camp-card-work>:first-child{flex:none}.camp-card-work .badge{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:right;line-height:1.4;border-radius:10px;padding:2px 8px}.phase-steps{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:0}.phase-steps li{flex:1 1 100px}.phase-steps .btn{width:100%;border:1px solid var(--color-border)}.phase-steps .is-done .btn{color:var(--color-text-secondary)}.phase-steps .is-current .btn{background:var(--color-surface);border-color:var(--color-text-primary);font-weight:600;opacity:1}.deliv-thumb{width:96px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--color-border)}.step-owners th{width:120px;white-space:nowrap}.step-owners tr.is-current th{font-weight:700}.gantt{display:flex;flex-direction:column;gap:4px;overflow-x:auto}.gantt-row{display:grid;grid-template-columns:minmax(120px,200px) minmax(360px,1fr);align-items:center;gap:8px;min-height:34px}.gantt-label{display:flex;flex-direction:column;font-size:var(--text-caption);min-width:0}.gantt-name{font-weight:600;color:var(--color-text-primary)}.gantt-track{position:relative;height:26px;background:var(--color-surface);border-radius:4px}.gantt-axis .gantt-track{background:none;height:18px}.gantt-tick{position:absolute;top:0;transform:translate(-50%);font-size:11px;color:var(--color-text-secondary);white-space:nowrap}.gantt-grid{position:absolute;top:0;bottom:0;border-left:1px solid var(--color-border)}.gantt-today{position:absolute;top:-2px;bottom:-2px;border-left:2px solid var(--color-error);z-index:1}.gantt-bar{position:absolute;top:4px;bottom:4px;min-width:6px;border-radius:4px;font-size:11px;line-height:18px;text-align:center;color:var(--color-on-primary);overflow:hidden}.gantt-bar.is-ready{background:var(--color-primary)}.gantt-bar.is-waiting{background:var(--color-surface-alt);border:1px solid var(--color-border-strong)}.gantt-bar.is-done{background:var(--color-success)}.gantt-bar.is-skipped{background:repeating-linear-gradient(45deg,var(--color-border),var(--color-border) 4px,transparent 4px,transparent 8px)}.gantt-undated{position:absolute;left:8px;top:4px;font-size:var(--text-caption)}.gantt-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px;font-size:var(--text-caption)}.gantt-legend .gantt-bar{position:static;display:inline-block;width:18px;height:10px;vertical-align:middle}.deliv-reviews{margin:6px 0 0;padding-left:16px;font-size:var(--text-caption)}.review-image{max-width:100%;max-height:70vh;border-radius:6px;border:1px solid var(--color-border)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.form-grid label{display:flex;flex-direction:column;gap:4px}.badge.sev-high{background:#fde2e1;color:#a1251b}.badge.sev-medium{background:#fff1d6;color:#8a5a00}.badge.sev-info{background:#e8eef5;color:#2f4a66}.pathstack{display:flex;flex-direction:column;gap:2px}.pathstack span{overflow-wrap:anywhere}.skgrid td{white-space:nowrap}.skcell{border:1px solid var(--color-border);border-radius:8px;padding:6px 10px;background:transparent;cursor:pointer;font:inherit}.skcell.sk-ok{background:#e6f4ea;color:#1e6b34}.skcell.sk-issues{background:#fff1d6;color:#8a5a00}.skcell.sk-missing{background:#fde2e1;color:#a1251b;font-weight:700}.skcell.sk-paused{background:#eef0f3;color:#4a5568}.skcell.sk-sel{outline:2px solid #346890}.skicon{font-weight:700}.pgtable{width:100%;border-collapse:collapse}.pgtable td,.pgtable th{padding:6px 8px;border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left}.pgtable tr.pg-group td{padding-top:14px}.pgtable tr.pg-ok td{background:#e6f4ea;color:#1e6b34}.pgtable tr.pg-off td{background:#fff1d6;color:#8a5a00}.pgtable tr.pg-pending td{background:#e8eef5;color:#2f4a66}.pgnet{border:1px solid var(--color-border);border-radius:8px;padding:8px 12px}.ftgroup{border:1px solid var(--color-border);border-radius:8px;padding:6px 10px}.ftgroup>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:2px 0}.ftgroup[open]>summary{margin-bottom:6px}table.zebra.ft-compact{table-layout:fixed}table.zebra.ft-compact th,table.zebra.ft-compact td{padding:5px 10px;line-height:1.35;overflow-wrap:anywhere}table.zebra.ft-compact .btn{padding:1px 8px;min-height:0;font-size:var(--text-small)}.pgnet>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pgchip{border-radius:999px;padding:1px 8px;font-size:12px;background:#eef0f3}.pgchip.pg-ok{background:#e6f4ea;color:#1e6b34}.pgchip.pg-off{background:#fff1d6;color:#8a5a00}.pgchip.pg-pending{background:#e8eef5;color:#2f4a66}.gsc-cal{background:#fff;color:#18181b;border-radius:12px;padding:8px 32px 40px;letter-spacing:.05em;font-feature-settings:"palt" on}.gsc-cal__date{padding-top:43px}.gsc-cal__date:first-child{padding-top:32px}.gsc-cal__date h3{position:relative;margin:0;min-height:32px;padding-bottom:8px;font-size:18px;font-weight:600;line-height:1.6;border-bottom:3px solid #eee}.gsc-cal__date h3:after{content:"";position:absolute;bottom:-3px;left:0;width:64px;height:3px;background:#ff6624}.gsc-cal__list{display:grid;grid-template-columns:repeat(auto-fill,200px);gap:24px 16px;padding-top:44px}.gsc-cal__item{display:block;color:inherit;text-decoration:none}.gsc-cal__image{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;background:#f4f4f5}.gsc-cal__image img{width:100%;height:100%;object-fit:cover;object-position:top center}.gsc-cal__caption{position:absolute;right:0;bottom:6px;padding:4px;font-size:12px;font-weight:600;line-height:1;color:#fff;background:#ff6624}.gsc-cal__new:before{content:"New";position:absolute;top:10px;left:5px;z-index:2;font-size:14px;font-weight:600;color:#fff;transform:rotate(-45deg)}.gsc-cal__new:after{content:"";position:absolute;top:-26px;left:-7px;border-top:40px solid transparent;border-right:40px solid #0175e1;border-bottom:40px solid transparent;transform:rotate(45deg)}.gsc-cal__logo{padding-top:8px;text-align:center;line-height:0}.gsc-cal__logo img{width:57px;height:16px;object-fit:contain}.gsc-cal__title{padding-top:8px;font-size:12px;font-weight:600;line-height:1.5}.gsc-cal__meta{padding-top:2px;font-size:11px;color:#71717a}.comment-internal{background:var(--color-surface-alt);border-style:dashed}.task-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}@media (max-width: 900px){.task-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.task-board{grid-template-columns:1fr}}.task-board__col{background:var(--color-surface-alt);border-radius:var(--radius-card);padding:10px;min-height:120px}.task-board__col h3{margin:2px 4px 10px;font-size:var(--text-caption)}.task-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:8px 10px;margin-bottom:8px;color:inherit;text-decoration:none}.task-card:hover{border-color:var(--color-primary)}.task-card__top{display:flex;justify-content:space-between;gap:6px;font-size:var(--text-caption)}.task-card__title{margin:4px 0;overflow-wrap:anywhere}.task-card__meta{font-size:var(--text-caption)}.task-card__overdue{color:var(--color-error-text);font-weight:600}.gate{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--color-canvas)}.gate__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:32px 28px;max-width:420px;width:100%;text-align:center}.work-tabs{flex-wrap:wrap}.site-progress{display:flex;align-items:center;gap:10px;margin:6px 0}.site-progress__label{width:2.5em;font-weight:600}.site-progress__bar{flex:1;height:8px;background:var(--color-surface-alt);border-radius:999px;overflow:hidden}.site-progress__fill{display:block;height:100%;background:var(--color-warning-text)}.site-progress__fill.is-done{background:var(--color-success-text)}.site-strings td{vertical-align:top;max-width:28em}.site-missing{background:var(--color-error-tint);color:var(--color-error-text)}.site-code{margin:4px 0 0;padding:10px 12px;max-height:16em;overflow:auto;background:var(--color-surface-alt);border-radius:var(--radius-control);font-family:JetBrains Mono,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all}.cmdblock{margin:10px 0;border:1px solid var(--color-border);border-radius:var(--radius-control);overflow:hidden}.cmdblock__head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 2px 12px;background:var(--color-surface-alt)}.cmdblock__label{font-size:var(--text-caption);color:var(--color-text-secondary)}.cmdblock__body{margin:0;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all}.cmdblock-shell .cmdblock__body{background:#1e1f22;color:#e6e6e6}.cmdblock-claude .cmdblock__body{background:var(--color-primary-tint)}.site-commands summary{cursor:pointer}.site-commands h3{margin:4px 0;font-size:var(--text-body, 15px)}.site-progress__ok{color:var(--color-success-text);font-weight:600}.site-progress__skipped{font-size:var(--text-caption)}.site-ok-badge{margin-left:8px}.cmdblock__line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:2px 0}.cmdblock__line code{font-family:inherit;white-space:pre-wrap;word-break:break-all}.cmdblock__note{font-family:var(--font-body);font-size:12px;opacity:.65}.cmdblock-shell .cmdblock__note:before{content:"← "}.cmdblock-claude .cmdblock__note{color:var(--color-text-secondary);opacity:1}.now-card{border-left:4px solid var(--color-accent)}.now-card__row+.now-card__row{margin-top:10px}.now-card__late{color:var(--color-error-text);font-weight:600}.person-chip{display:inline-flex;align-items:center;gap:4px}.person-chip__x{border:0;background:none;cursor:pointer;padding:0 2px;color:inherit}.ps-series{max-width:360px;font-size:var(--text-caption)}.ps-products{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px}.ps-products li{display:flex;align-items:center;gap:8px;font-size:var(--text-caption)}.ps-products img{width:36px;height:36px;object-fit:cover;border-radius:4px;flex:none}.multipick{position:relative}.multipick>summary{list-style:none;cursor:pointer;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.multipick>summary::-webkit-details-marker{display:none}.multipick>summary:after{content:" ▾";color:var(--color-text-secondary)}.multipick__menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:220px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-widget)}.date-range{flex:none;flex-wrap:nowrap;gap:6px;white-space:nowrap}.date-range input[type=date]{width:auto;padding:6px 10px}.ps-pick label{cursor:pointer;align-items:center;gap:8px;flex-wrap:nowrap}.ps-pick .ps-off{opacity:.45}.ca-missing td{color:var(--color-text-muted);background:var(--color-surface-alt)}.ca-missing td b{color:var(--color-text-secondary)}.ps-qty{display:inline-block;margin-left:6px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-surface-alt);font-size:var(--text-caption);white-space:nowrap}
