:root{--c-brand: #1B63D6;--c-brand-hover: #1854B8;--c-on-brand: #FFFFFF;--c-bg: #F4F6F9;--c-surface: #FFFFFF;--c-surface-alt: #EEF1F6;--c-line: #DFE3EA;--c-text: #14181F;--c-text-muted: #69707D;--c-danger: #B3261E;--c-danger-soft: #FDECEA;--c-success: #1F7A43;--c-success-soft: #E7F4EC;--c-warning: #9A6207;--c-warning-soft: #FCF1DD;--c-focus: #1B63D6;--st-draft: #69707D;--st-assigned: #1B63D6;--st-in-progress: #9A6207;--st-submitted: #5B4BC4;--st-under-review: #5B4BC4;--st-accepted: #1F7A43;--st-rejected: #B3261E;--st-cancelled: #69707D;--st-expired: #69707D;--s-xs: 4px;--s-sm: 8px;--s-md: 12px;--s-lg: 16px;--s-xl: 24px;--s-xxl: 32px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--f-display-size: 22px;--f-display-weight: 700;--f-display-lh: 1.25;--f-title-size: 17px;--f-title-weight: 600;--f-title-lh: 1.3;--f-body-size: 15px;--f-body-weight: 400;--f-body-lh: 1.5;--f-label-size: 13px;--f-label-weight: 500;--f-label-lh: 1.4;--f-caption-size: 12px;--f-caption-weight: 400;--f-caption-lh: 1.35;--e-card: 0 1px 2px rgba(20,24,31,.06), 0 1px 1px rgba(20,24,31,.04)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:var(--f-body-size);line-height:var(--f-body-lh);background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased}h1{font-size:var(--f-display-size);font-weight:var(--f-display-weight);line-height:var(--f-display-lh);margin:0 0 var(--s-lg);letter-spacing:-.015em}h2{font-size:var(--f-title-size);font-weight:var(--f-title-weight);line-height:var(--f-title-lh);margin:var(--s-xl) 0 var(--s-md)}.muted{color:var(--c-text-muted);font-size:var(--f-label-size)}.caption{color:var(--c-text-muted);font-size:var(--f-caption-size)}button{font:inherit;font-weight:600;font-size:var(--f-label-size);cursor:pointer;border:1px solid transparent;border-radius:var(--r-sm);padding:9px var(--s-lg);background:var(--c-brand);color:var(--c-on-brand);transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){background:var(--c-brand-hover)}button:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}button.ghost{background:var(--c-surface);color:var(--c-text);border-color:var(--c-line)}button.ghost:hover:not(:disabled){background:var(--c-surface-alt)}button.danger{background:var(--c-danger)}button.danger:hover:not(:disabled){filter:brightness(.92)}button:disabled{opacity:.4;cursor:default}input,select,textarea{font:inherit;font-size:var(--f-body-size);width:100%;padding:9px 11px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-brand) 18%,transparent)}label{display:block;font-size:var(--f-caption-size);color:var(--c-text-muted);margin-bottom:var(--s-xs)}.field{margin-bottom:var(--s-md)}header.top{background:var(--c-surface);border-bottom:1px solid var(--c-line);padding:0 var(--s-xl);display:flex;align-items:center;gap:var(--s-xl);height:56px;position:sticky;top:0;z-index:10}.logo{font-weight:700;font-size:var(--f-title-size);letter-spacing:-.02em}.logo span{color:var(--c-brand)}nav{display:flex;gap:var(--s-lg);flex:1}nav a{color:var(--c-text-muted);text-decoration:none;font-weight:500;font-size:var(--f-label-size);padding:18px 0;box-shadow:inset 0 -2px 0 transparent}nav a:hover{color:var(--c-text)}nav a.active{color:var(--c-text);box-shadow:inset 0 -2px 0 var(--c-brand)}.who{font-size:var(--f-caption-size);color:var(--c-text-muted)}main{max-width:1040px;margin:var(--s-xl) auto var(--s-xxl);padding:0 var(--s-xl)}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-lg);margin-bottom:var(--s-md);box-shadow:var(--e-card)}.row{display:flex;gap:var(--s-md);align-items:center}.grow{flex:1;min-width:0}.chip{display:inline-block;padding:3px 10px;border-radius:var(--r-sm);font-size:var(--f-caption-size);font-weight:600;white-space:nowrap}.kv{display:grid;grid-template-columns:200px 1fr;gap:var(--s-sm) var(--s-lg);font-size:var(--f-label-size);margin:0}.kv dt{color:var(--c-text-muted)}.kv dd{margin:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px var(--s-md);border-bottom:1px solid var(--c-line)}th{font-size:11px;text-transform:uppercase;color:var(--c-text-muted);letter-spacing:.05em;font-weight:600}tr:last-child td{border-bottom:0}code{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--c-text-muted)}.login-wrap{max-width:360px;margin:12vh auto}.err{color:var(--c-danger);font-size:var(--f-label-size);margin-top:var(--s-sm)}.ok-box{background:var(--c-success-soft);border:1px solid color-mix(in srgb,var(--c-success) 25%,transparent);color:var(--c-text);padding:var(--s-md);border-radius:var(--r-sm);font-size:var(--f-label-size);word-break:break-all}.pos{border-bottom:1px solid var(--c-line);padding:10px 0;display:flex;gap:var(--s-md);align-items:flex-start}.pos:last-child{border:0;padding-bottom:0}.pos input[type=checkbox]{width:auto;margin-top:3px;accent-color:var(--c-brand)}@media(max-width:720px){header.top{height:auto;flex-wrap:wrap;gap:var(--s-md);padding:var(--s-md) var(--s-lg);align-items:center}header.top .logo{font-size:var(--f-body-size)}.who{order:10;flex-basis:100%;font-size:var(--f-caption-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nav{gap:var(--s-md);flex:1}nav a{padding:10px 0;font-size:var(--f-label-size)}header.top>button{padding:7px var(--s-md)}main{margin:var(--s-lg) auto var(--s-xl);padding:0 var(--s-md)}h1{font-size:19px}.toolbar{flex-wrap:wrap}.toolbar h1{flex-basis:100%;margin-bottom:var(--s-sm)}.toolbar select{flex:1;width:auto;min-width:0}.toolbar button{flex:none}.card{padding:var(--s-md)}.session-row{flex-wrap:wrap}.session-row .grow{flex-basis:100%}.session-row .chip{order:2}.session-row>button{order:3;margin-left:auto}.kv{grid-template-columns:1fr;gap:2px var(--s-md)}.kv dt{margin-top:var(--s-sm)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:520px}.login-wrap{margin:6vh auto;padding:0 var(--s-md)}.review-actions{flex-wrap:wrap}.review-actions button{flex:1 1 100%}}@media(max-width:400px){.pos{flex-wrap:wrap}.pos>span:last-child{flex-basis:100%;font-size:11px}}.err-box{background:var(--c-danger-soft);border:1px solid color-mix(in srgb,var(--c-danger) 25%,transparent);color:var(--c-text);padding:var(--s-md);border-radius:var(--r-sm);font-size:var(--f-label-size);margin-bottom:var(--s-md)}.err-box ul{margin:var(--s-sm) 0 0;padding-left:18px}.form{display:grid;gap:var(--s-md);margin-bottom:var(--s-md)}.form label{display:grid;gap:4px;font-size:var(--f-label-size);color:var(--c-text-muted)}.ed-block{padding:0;overflow:hidden}.ed-block-head{width:100%;display:flex;align-items:center;gap:var(--s-md);background:none;border:0;color:var(--c-text);text-align:left;padding:var(--s-md) var(--s-lg);cursor:pointer}.ed-block-head:hover{background:var(--c-surface-alt)}.ed-block-head .muted{margin-left:auto}.ed-chev{color:var(--c-text-muted);width:12px}.ed-positions{padding:0 var(--s-lg) var(--s-md)}.ed-pos{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-sm) var(--s-md);align-items:center;padding:8px 0;border-top:1px solid var(--c-line)}.ed-pos.off{opacity:.5}.ed-pos-main{display:flex;align-items:center;gap:var(--s-sm);flex-wrap:wrap;cursor:pointer;min-width:0}.ed-pos-main input[type=checkbox]{width:auto;accent-color:var(--c-brand)}.ed-pos-title{font-size:var(--f-body-size)}.ed-pos-code{color:var(--c-text-muted)}.ed-type{font-size:11px;color:var(--c-text-muted);border:1px solid var(--c-line);border-radius:999px;padding:1px 8px}.ed-pos-actions{display:flex;gap:4px}.ghost.ed-tiny{padding:2px 8px;font-size:12px;min-width:0}.ed-cond{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--s-sm);align-items:center;background:var(--c-surface-alt);border-radius:var(--r-sm);padding:var(--s-sm) var(--s-md);font-size:var(--f-label-size);color:var(--c-text-muted)}.ed-cond select,.ed-cond input{width:auto;min-width:0;max-width:100%;flex:1 1 160px}.ed-scope{display:flex;align-items:center;gap:6px}.ed-scope input{width:auto;accent-color:var(--c-brand)}.ed-actions{position:sticky;bottom:0;display:flex;gap:var(--s-md);justify-content:flex-end;background:color-mix(in srgb,var(--c-bg) 92%,transparent);padding:var(--s-md) 0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(max-width:720px){.ed-positions{padding:0 var(--s-md) var(--s-md)}.ed-pos{grid-template-columns:minmax(0,1fr)}.ed-pos-actions{justify-content:flex-end}.ed-cond select,.ed-cond input{flex:1 1 100%;min-width:0}.ed-actions{flex-direction:column-reverse}.ed-actions button{width:100%}}@media(max-width:720px){.table-scroll .schema-table{min-width:0}.schema-table thead{display:none}.schema-table,.schema-table tbody,.schema-table tr,.schema-table td{display:block;width:100%}.schema-table tr{border:1px solid var(--c-line);border-radius:var(--r-sm);padding:var(--s-md);margin-bottom:var(--s-sm)}.schema-table td{border:0;padding:2px 0;text-align:left!important}.schema-table td[data-label]:before{content:attr(data-label) ": ";color:var(--c-text-muted);font-size:var(--f-label-size)}.schema-table td:last-child{padding-top:var(--s-sm)}.schema-table .review-actions{display:flex;gap:var(--s-sm);flex-wrap:wrap}.schema-table .review-actions button{flex:1 1 140px}}
