:root{--brand: #023061;--brand-hover: #01203f;--brand-subtle: #eef2f8;--brand-deep: #00205f;--background: #eef1f6;--surface: #ffffff;--surface-raised: #ffffff;--surface-muted: #f7f9fc;--surface-inverse: #0c1424;--surface-inverse-raised: #16223a;--surface-inverse-sunken: #131f34;--text-primary: #161c26;--text-secondary: #4d5766;--text-muted: #78828f;--text-inverse: #ffffff;--text-on-inverse: #a9b9d1;--text-on-inverse-muted: #6d84a8;--text-on-inverse-strong: #e8edf6;--border: #dfe4ec;--border-strong: #c3ccdb;--border-inverse: #23324e;--divider: #edf0f5;--success: #1a6349;--success-surface: #e3f5ec;--success-border: #bfe3d0;--warning: #7a5312;--warning-surface: #fff6e6;--warning-border: #f0dcb4;--danger: #9a2f24;--danger-surface: #fdf0ee;--danger-border: #f0cdc7;--info: #1a5aa8;--info-surface: #e4f0ff;--info-border: #c6d8f0;--font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--font-ui: "Inter", "Segoe UI", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--type-display-family: var(--font-display);--type-display-size: 28px;--type-display-line: 1.15;--type-display-weight: 400;--type-display-spacing: -.01em;--type-h1-family: var(--font-ui);--type-h1-size: 22px;--type-h1-line: 1.2;--type-h1-weight: 700;--type-h1-spacing: -.015em;--type-h2-family: var(--font-ui);--type-h2-size: 17px;--type-h2-line: 1.3;--type-h2-weight: 700;--type-h2-spacing: -.01em;--type-h3-family: var(--font-ui);--type-h3-size: 13px;--type-h3-line: 1.4;--type-h3-weight: 700;--type-h3-spacing: 0;--type-body-family: var(--font-ui);--type-body-size: 13px;--type-body-line: 1.5;--type-body-weight: 400;--type-body-spacing: 0;--type-body-small-family: var(--font-ui);--type-body-small-size: 12px;--type-body-small-line: 1.5;--type-body-small-weight: 400;--type-body-small-spacing: 0;--type-label-family: var(--font-ui);--type-label-size: 10px;--type-label-line: 1.2;--type-label-weight: 700;--type-label-spacing: .12em;--type-caption-family: var(--font-ui);--type-caption-size: 11px;--type-caption-line: 1.45;--type-caption-weight: 400;--type-caption-spacing: 0;--type-badge-size: 9.5px;--type-badge-weight: 800;--type-mono-family: var(--font-mono);--type-mono-size: 12px;--type-mono-line: 1.5;--type-mono-weight: 400;--type-mono-spacing: 0;--type-document-number-family: var(--font-mono);--type-document-number-size: 12px;--type-document-number-line: 1.4;--type-document-number-weight: 500;--type-document-number-spacing: .02em;--space-0: 0;--space-px: 1px;--space-half: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 999px;--shadow-none: none;--shadow-subtle: 0 1px 2px rgba(12, 28, 56, .06);--shadow-raised: 0 10px 40px rgba(12, 28, 56, .08);--shadow-overlay: 0 20px 60px rgba(8, 18, 36, .3);--overlay-scrim: rgba(12, 20, 34, .55);--border-width: 1px;--border-width-strong: 2px;--border-width-accent: 3px;--focus-color: #6f9ce0;--focus-ring: 0 0 0 3px rgba(111, 156, 224, .35);--focus-ring-danger: 0 0 0 3px rgba(154, 47, 36, .18);--focus-width: 2px;--focus-offset: 2px;--disabled-opacity: .45;--target-min: 24px;--target-comfortable: 36px;--icon-size-sm: 14px;--icon-size-md: 16px;--icon-size-lg: 20px;--icon-gap: var(--space-2);--z-base: 0;--z-sticky: 10;--z-header: 20;--z-modebar: 30;--z-dropdown: 40;--z-overlay: 100;--doc-page-w: 210mm;--doc-page-h: 297mm;--doc-margin-x: 14mm;--doc-header-h: 30mm;--doc-footer-h: 20mm;--doc-brand: var(--brand);--doc-brand-deep: var(--brand-deep);--doc-brand-wash: #eef2f8;--doc-ink: #14181f;--doc-ink-soft: #4a5464;--doc-rule: #c9d2e0;--doc-rule-strong: #8fa2bd;--doc-paper: #fff;--doc-ink-faded: #8a94a3;--doc-flag: #9a5b18;--doc-shadow: 0 6px 26px rgba(10, 22, 44, .28);--doc-unresolved-surface: #ffe9c9;--doc-unresolved-ink: #8a4b00;--doc-desk: #7f8794;--doc-font-sans: "Source Sans 3", "Segoe UI", Arial, sans-serif;--doc-font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--doc-rule-hairline: .25mm;--doc-rule-thin: .3mm;--doc-rule-medium: .55mm;--doc-rule-heavy: 1.1mm;--doc-rule-brand: 1.4mm;--doc-space-1: 1mm;--doc-space-2: 2mm;--doc-space-3: 3mm;--doc-space-4: 4mm;--doc-space-5: 5mm;--doc-space-6: 6mm;--doc-space-7: 7mm;--doc-space-8: 8mm;--doc-z-watermark: 0;--doc-z-flow: 1;--doc-z-decoration: 2}:root{--bp-sm: 700px;--bp-md: 900px;--bp-lg: 1100px}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:var(--space-7)}body{margin:0;background:var(--background);color:var(--text-primary);font-family:var(--type-body-family);font-size:var(--type-body-size);line-height:var(--type-body-line);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--focus-color);box-shadow:var(--focus-ring)}:disabled,[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:not-allowed}[aria-invalid=true],.is-error{border-color:var(--danger)!important;background:var(--danger-surface)}[aria-invalid=true]:focus-visible,.is-error:focus-visible{border-color:var(--danger)!important;box-shadow:var(--focus-ring-danger)}img,svg{max-width:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn,.head-actions button,.panel-foot button,.modal-foot button,.form-foot .primary,.auth-card .primary{font-family:var(--type-body-family);font-size:var(--type-body-small-size);font-weight:700;line-height:1;padding:var(--space-3) var(--space-4);min-height:var(--target-comfortable);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);cursor:pointer}.btn:hover,.head-actions button:hover,.panel-foot button:hover,.modal-foot button:hover{border-color:var(--border-strong)}.btn--primary,.head-actions .primary,.panel-foot .primary,.modal-foot .primary,.form-foot .primary,.auth-card .primary{background:var(--brand);border-color:var(--brand);color:var(--text-inverse)}.btn--primary:hover,.head-actions .primary:hover,.panel-foot .primary:hover,.modal-foot .primary:hover,.form-foot .primary:hover,.auth-card .primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn--commit,.panel-foot .issue{background:var(--success);border-color:var(--success);color:var(--text-inverse)}.btn--danger{border-color:var(--danger-border);color:var(--danger)}.btn--danger:hover{border-color:var(--danger)}.btn--mini,button.mini,.doc-tbl .actions button{font-size:var(--type-caption-size);font-weight:700;line-height:1;padding:var(--space-2) var(--space-2);min-height:var(--target-min);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer}button.mini{color:var(--brand)}.doc-tbl .actions button{color:var(--text-secondary)}.btn--mini:hover,button.mini:hover,.doc-tbl .actions button:hover{border-color:var(--brand);color:var(--brand)}.doc-tbl .actions .danger:hover{border-color:var(--danger);color:var(--danger)}.btn--icon,.tools button{width:var(--target-min);height:var(--space-5);padding:0;line-height:1;font-size:var(--type-caption-size);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer}.btn--icon:hover,.tools button:hover{border-color:var(--brand);color:var(--brand)}.tools .del:hover{border-color:var(--danger-border);color:var(--danger)}.btn--quiet,button.link,.linky{border:0;background:none;padding:0;cursor:pointer;color:var(--brand);font-family:var(--type-body-family);font-weight:700}button.link{font-size:var(--type-body-small-size);line-height:1.4;font-weight:600}.linky{font-size:var(--type-body-size);line-height:1.3;font-variant-numeric:tabular-nums}.btn--quiet:hover,button.link:hover,.linky:hover{text-decoration:underline}.seg{display:flex;border:var(--border-width) solid var(--border);border-radius:var(--radius-md);overflow:hidden}.seg button{font-family:var(--type-body-family);font-size:var(--type-caption-size);font-weight:600;line-height:1;padding:var(--space-2) var(--space-3);min-height:var(--target-min);border:0;background:var(--surface);color:var(--text-secondary);cursor:pointer}.seg button+button{border-left:var(--border-width) solid var(--border)}.seg button[aria-pressed=true]{background:var(--brand);color:var(--text-inverse)}.tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--border)}.tabs button{font-family:var(--type-body-family);font-size:var(--type-body-small-size);font-weight:700;line-height:1;padding:var(--space-3) var(--space-3);min-height:var(--target-comfortable);border:0;background:none;color:var(--text-muted);cursor:pointer;border-bottom:var(--border-width-strong) solid transparent;margin-bottom:calc(var(--border-width) * -1)}.tabs button:hover{color:var(--text-primary)}.tabs button[aria-pressed=true]{color:var(--brand);border-bottom-color:var(--brand)}.field{display:grid;gap:var(--space-1);min-width:0}.field.wide,.wide{grid-column:1 / -1}.field>span,.field-label{font-family:var(--type-label-family);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}input,select,textarea{font:inherit;width:100%;min-width:0;padding:var(--space-2) var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);outline:none}textarea{resize:vertical}input:disabled,select:disabled,textarea:disabled{background:var(--surface-muted);color:var(--text-muted)}input.unfilled{background:var(--warning-surface);border-color:var(--warning-border)}input.unfilled:focus-visible{border-color:var(--warning)}.check{display:flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);font-size:var(--type-body-small-size);color:var(--text-secondary)}.check input{width:auto}.card,.stat,.empty-card,.brand-slot,.auth-card{background:var(--surface-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg)}.card{overflow:hidden}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--divider)}.card-head h2{margin:0;font-size:var(--type-h3-size);font-weight:var(--type-h3-weight)}.card-head .sub{font-size:var(--type-caption-size);color:var(--text-muted)}.badge,.pill,.role-chip{font-size:var(--type-badge-size);font-weight:var(--type-badge-weight);letter-spacing:.08em;text-transform:uppercase;padding:var(--space-half) var(--space-2);border-radius:var(--radius-pill);white-space:nowrap;background:var(--surface-muted);color:var(--text-secondary)}.role-chip{background:var(--brand-subtle);color:var(--brand);letter-spacing:.09em}.badge--info,.pill.issued,.pill.sent{background:var(--info-surface);color:var(--info)}.badge--success,.pill.accepted,.pill.paid{background:var(--success-surface);color:var(--success)}.badge--danger,.pill.rejected,.pill.expired,.pill.void{background:var(--danger-surface);color:var(--danger)}.kind{font-size:var(--type-badge-size);font-weight:var(--type-badge-weight);letter-spacing:.08em;text-transform:uppercase;padding:var(--space-half) var(--space-1);border-radius:var(--radius-sm);white-space:nowrap;cursor:help}.kind.fixed{background:var(--surface-muted);color:var(--text-secondary)}.kind.variable{background:var(--info-surface);color:var(--info)}.note,.warn-note,.ok-note,.auth-msg.bad{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:var(--border-width) solid transparent;font-size:var(--type-body-small-size);line-height:1.5}.note--warning,.warn-note{background:var(--warning-surface);border-color:var(--warning-border);color:var(--warning)}.note--success,.ok-note{background:var(--success-surface);border-color:var(--success-border);color:var(--success)}.note--danger,.warn-note.bad,.auth-msg.bad{background:var(--danger-surface);border-color:var(--danger-border);color:var(--danger)}.note--info,.locked{background:var(--info-surface);border-color:var(--info-border);color:var(--text-secondary)}.tbl{width:100%;border-collapse:collapse;font-size:var(--type-body-size)}.tbl th,.tbl td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--divider)}.tbl th{font-family:var(--type-label-family);font-size:var(--type-label-size);font-weight:800;letter-spacing:var(--type-label-spacing);text-transform:uppercase;color:var(--text-muted);background:var(--surface-muted)}.tbl tr:last-child td{border-bottom:0}.scroll-x{overflow-x:auto}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--overlay-scrim);display:grid;place-items:center;padding:var(--space-6)}.modal{width:min(480px,100%);max-height:90vh;overflow-y:auto;background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);display:grid;gap:var(--space-3);box-shadow:var(--shadow-overlay)}.modal h2{margin:0;font-size:var(--type-h2-size);letter-spacing:var(--type-h2-spacing)}.modal-foot{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-1)}.divider{border:0;border-top:var(--border-width) solid var(--divider);margin:var(--space-4) 0}.divider--strong{border-top-color:var(--border)}.icon,.nav-item .ic{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-md);height:var(--icon-size-md);flex:none;line-height:1;font-size:var(--icon-size-sm);speak:never}.icon--sm{width:var(--icon-size-sm);height:var(--icon-size-sm);font-size:12px}.icon--lg{width:var(--icon-size-lg);height:var(--icon-size-lg);font-size:var(--icon-size-md)}.muted{color:var(--text-muted);font-size:var(--type-body-small-size)}.hint{margin:var(--space-half) 0 0;font-size:var(--type-body-small-size);color:var(--text-muted)}.mono,.colour-row .hex{font-family:var(--type-mono-family);font-size:var(--type-mono-size)}.mono em{font-family:inherit;font-style:normal;font-size:var(--type-caption-size)}.document-number{font-family:var(--type-document-number-family);font-size:var(--type-document-number-size);font-weight:var(--type-document-number-weight);letter-spacing:var(--type-document-number-spacing);font-variant-numeric:tabular-nums}.s-label,.nav-label,.group-head h2,.org-pick>span,.year-pick>span{font-family:var(--type-label-family);font-size:var(--type-label-size);font-weight:800;letter-spacing:var(--type-label-spacing);text-transform:uppercase}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}@media (max-width: 900px){.app{grid-template-columns:1fr}}.nav{background:var(--surface-inverse);color:var(--text-on-inverse-strong);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-3);position:sticky;top:0;height:100vh}@media (max-width: 900px){.nav{position:static;height:auto}}.nav-brand{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-2) var(--space-3);text-decoration:none;color:inherit}.nav-brand .mark{width:30px;height:30px;border-radius:var(--radius-lg);background:var(--surface);color:var(--surface-inverse);display:grid;place-items:center;font-weight:800;font-size:15px}.nav-brand strong{display:block;font-size:var(--type-body-size);letter-spacing:-.01em}.nav-brand em{display:block;font-style:normal;font-size:var(--type-caption-size);color:var(--text-on-inverse);margin-top:1px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav nav{display:grid;gap:var(--space-half)}.nav-item{display:flex;align-items:center;gap:var(--icon-gap);padding:var(--space-2) var(--space-3);min-height:var(--target-comfortable);border-radius:var(--radius-lg);text-decoration:none;color:var(--text-on-inverse);font-size:var(--type-body-small-size);font-weight:600}.nav-item .ic{color:var(--text-on-inverse-muted)}.nav-item:hover{background:var(--surface-inverse-raised);color:var(--text-inverse)}.nav-item.on{background:var(--brand);color:var(--text-inverse)}.nav-item.on .ic{color:var(--text-inverse)}.nav-new{margin-top:var(--space-5);display:grid;gap:var(--space-2)}.nav-label{color:var(--text-on-inverse-muted);padding:0 var(--space-3) var(--space-1)}.nav-new button{text-align:left;padding:var(--space-2) var(--space-3);min-height:var(--target-comfortable);border-radius:var(--radius-lg);cursor:pointer;border:var(--border-width) solid var(--border-inverse);background:var(--surface-inverse-sunken);color:var(--text-on-inverse);font-family:var(--type-body-family);font-size:var(--type-body-small-size);font-weight:600;line-height:1}.nav-new button:hover{border-color:var(--brand);color:var(--text-inverse)}.nav-foot{margin-top:auto;padding:var(--space-3) var(--space-3) var(--space-1);border-top:var(--border-width) solid var(--border-inverse);display:grid;gap:var(--space-1);font-size:var(--type-caption-size);color:var(--text-on-inverse)}.nav-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-foot .link{justify-self:start;color:var(--text-on-inverse)}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);background:var(--surface);border-bottom:var(--border-width) solid var(--border);position:sticky;top:0;z-index:var(--z-header)}.org-pick{display:flex;align-items:center;gap:var(--space-2)}.org-pick>span{color:var(--text-muted)}.org-pick select{width:auto;min-width:200px;font-weight:600}.screen{flex:1;min-width:0}.screen .shell{height:calc(100vh - 49px)}.pad{padding:var(--space-6) var(--space-7) var(--space-10);max-width:1100px}.screen-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.screen-head h1{margin:0;font-size:var(--type-h1-size);font-weight:var(--type-h1-weight);letter-spacing:var(--type-h1-spacing)}.screen-head .sub{margin:var(--space-1) 0 0;font-size:var(--type-body-small-size);color:var(--text-muted)}.head-actions{display:flex;gap:var(--space-2)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.stat{padding:var(--space-4);display:grid;gap:var(--space-half)}.stat.wide{grid-column:span 2}@media (max-width: 700px){.stat.wide{grid-column:span 1}}.s-label{color:var(--text-muted)}.s-value{font-size:23px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.s-hint{font-size:var(--type-caption-size);color:var(--text-muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}.pad-sm{padding:var(--space-4);margin:0}.rows{list-style:none;margin:0;padding:0}.rows li+li{border-top:var(--border-width) solid var(--divider)}.rows button{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:0;background:none;text-align:left;cursor:pointer;font:inherit}.rows button:hover{background:var(--surface-muted)}.r-main{display:grid;gap:var(--space-half);min-width:0;font-size:var(--type-body-size);font-weight:600}.r-main em{font-style:normal;font-size:var(--type-caption-size);font-weight:400;color:var(--text-muted);font-variant-numeric:tabular-nums}.r-amt{font-size:var(--type-body-small-size);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.empty-card{padding:var(--space-7);max-width:520px}.empty-card h2{margin:0 0 var(--space-2);font-size:var(--type-h2-size)}.empty-card p{margin:0;font-size:var(--type-body-size);color:var(--text-secondary);line-height:1.6}.pad-form{padding:var(--space-4);display:grid;gap:var(--space-3)}.pad-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width: 700px){.pad-form .grid{grid-template-columns:1fr}}.form-foot{display:flex;justify-content:flex-end}.member{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4)}.member select{width:auto;min-width:130px}.filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.filters .search{flex:1;min-width:260px}.filters select{width:auto;min-width:150px}.doc-tbl td{vertical-align:middle;font-size:var(--type-body-size)}.doc-tbl td em{display:block;font-style:normal;font-size:var(--type-caption-size);color:var(--text-muted);margin-top:var(--space-half);text-transform:capitalize}.doc-tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.doc-tbl th.num{text-align:right}.doc-tbl tr.voided td:not(.actions){opacity:.55}.doc-tbl .reason{text-transform:none;font-style:italic;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tbl .actions{text-align:right;white-space:nowrap}.doc-tbl .actions button{margin-left:var(--space-1)}.year-pick{display:flex;align-items:center;gap:var(--space-2)}.year-pick>span{color:var(--text-muted)}.year-pick select{width:auto;padding:var(--space-1) var(--space-2)}.num-in{width:110px;text-align:right;font-variant-numeric:tabular-nums}.deals{display:grid}.deal{padding:var(--space-4);border-bottom:var(--border-width) solid var(--divider)}.deal:last-child{border-bottom:0}.deal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.deal strong{font-size:14px}.deal em{display:block;font-style:normal;font-size:var(--type-body-small-size);color:var(--text-muted);margin-top:var(--space-half);font-variant-numeric:tabular-nums}.deal-right{display:flex;align-items:center;gap:var(--space-3)}.deal-foot{margin-top:var(--space-3);font-size:var(--type-caption-size);text-transform:capitalize}.tickets-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-2)}.tickets-list li{display:grid;grid-template-columns:minmax(140px,1.1fr) 90px auto auto;gap:var(--space-3);align-items:center}@media (max-width: 820px){.tickets-list li{grid-template-columns:1fr}}.t-label{font-size:var(--type-body-small-size);font-weight:600}.t-label em{font-size:var(--type-caption-size)}.t-bar{height:5px;border-radius:var(--radius-sm);background:var(--divider);overflow:hidden}.t-bar span{display:block;height:100%;background:var(--brand)}.t-amt{font-size:var(--type-body-small-size);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-secondary)}.brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-3)}.brand-slot{padding:var(--space-3);display:grid;gap:var(--space-2);align-content:start}.brand-slot strong{font-size:var(--type-body-size)}.brand-slot p{margin:0;font-size:var(--type-body-small-size);line-height:1.5}.brand-prev{height:92px;border:var(--border-width) dashed var(--border);border-radius:var(--radius-lg);display:grid;place-items:center;padding:var(--space-2);background:repeating-conic-gradient(var(--background) 0% 25%,var(--surface) 0% 50%) 50% / 14px 14px}.brand-prev img{max-width:100%;max-height:76px;object-fit:contain}.brand-prev .muted{font-size:var(--type-caption-size);text-align:center}.brand-actions{display:flex;gap:var(--space-2);margin-top:var(--space-half)}.mini.as-button{display:inline-flex;align-items:center;position:relative;overflow:hidden}.mini.as-button input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.colour-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.colour-row input[type=color]{width:44px;height:34px;padding:var(--space-half);cursor:pointer;border-radius:var(--radius-lg)}.colour-row .hex{width:110px;text-transform:uppercase}.colour-note{font-size:var(--type-body-small-size);color:var(--text-muted);flex:1;min-width:180px}.shell{display:grid;grid-template-columns:460px minmax(0,1fr);height:100vh}@media (max-width: 1100px){.shell{grid-template-columns:1fr;height:auto}}.panel{background:var(--surface);border-right:var(--border-width) solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.panel-head{position:sticky;top:0;z-index:var(--z-sticky);background:var(--surface);border-bottom:var(--border-width) solid var(--border);padding:var(--space-5) var(--space-5) var(--space-3);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.panel-head h1{margin:0;font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);letter-spacing:var(--type-h2-spacing)}.group{padding:var(--space-4) var(--space-5) var(--space-1);border-bottom:var(--border-width) solid var(--divider)}.group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.group-head h2{margin:0;color:var(--brand)}.group-action{display:flex;gap:var(--space-2)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.lines{display:flex;flex-direction:column;gap:var(--space-2)}.line{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:var(--space-2);align-items:start;padding:var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.line.section{background:var(--brand-subtle);border-color:var(--border-strong);align-items:center}.line.muted .line-body input.grow:first-child{color:var(--warning)}.ref{font-weight:700;font-size:var(--type-caption-size);line-height:1.9;color:var(--brand);text-align:center;font-variant-numeric:tabular-nums}.line-body{display:grid;gap:var(--space-2);min-width:0}.line-nums{display:grid;grid-template-columns:58px 58px 1fr 104px auto;gap:var(--space-2);align-items:center}.line-nums input,.line-nums select{padding:var(--space-1) var(--space-2);font-size:var(--type-body-small-size)}.line-labels{font-size:var(--type-caption-size);line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:calc(-1 * var(--space-1))}.line-labels span:nth-child(2),.line-labels span:nth-child(3),.line-labels span:last-child{text-align:right}.line-nums .qty,.line-nums .price{text-align:right;font-variant-numeric:tabular-nums}.line-nums .avail{font-size:var(--type-caption-size)}.total{font-weight:700;font-size:var(--type-body-small-size);line-height:1;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-secondary);padding-left:var(--space-1)}.tools{display:flex;flex-direction:column;gap:var(--space-half)}.tickets{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-half)}.ticket{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border);border-left:var(--border-width-accent) solid var(--brand);border-radius:var(--radius-md);background:var(--surface-muted);font-size:var(--type-body-small-size)}.tk-pct{color:var(--text-muted);font-variant-numeric:tabular-nums}.tk-amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.panel-foot{margin-top:auto;position:sticky;bottom:0;background:var(--surface);border-top:var(--border-width) solid var(--border);padding:var(--space-3) var(--space-5);display:flex;gap:var(--space-2);justify-content:flex-end}.canvas{overflow:auto;padding:var(--space-6) 0 var(--space-10);background:var(--doc-desk)}#print-root{display:none}@media print{html.printing>body>*:not(#print-root){display:none!important}html.printing>body>#print-root{display:flex;flex-direction:column;height:100%}html.printing>body>#print-root>.page{flex:0 0 auto;height:100%}html.printing>body>#print-root>.page:last-child{page-break-after:avoid;break-after:avoid}html.printing,html.printing>body{margin:0;padding:0;background:var(--doc-paper);height:100%;overflow:visible}.nav,.topbar,.panel,.tools,.head-actions,.tabs{display:none!important}.app{display:block}.shell{display:block;height:auto}.canvas{overflow:visible;padding:0;background:var(--doc-paper)}}.boot{display:grid;place-items:center;height:100vh;color:var(--text-muted)}.auth-wrap{display:grid;place-items:center;min-height:100vh;padding:var(--space-6)}.auth-card{width:min(380px,100%);border-radius:var(--radius-xl);padding:var(--space-7);display:grid;gap:var(--space-3);box-shadow:var(--shadow-raised)}.auth-card h1{margin:0;font-family:var(--type-display-family);font-size:var(--type-display-size);font-weight:var(--type-display-weight);line-height:var(--type-display-line);letter-spacing:var(--type-display-spacing)}.auth-card .sub{margin:calc(var(--space-half) * -3) 0 var(--space-2);font-size:var(--type-body-small-size);color:var(--text-muted)}.auth-card .primary{margin-top:var(--space-1);border:0}.auth-msg{margin:0;font-size:var(--type-body-small-size);line-height:1.5}.head-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.save-msg{margin-right:auto;font-size:var(--type-body-small-size);color:var(--success);align-self:center}.save-msg.bad{color:var(--danger)}.head-links{display:flex;gap:var(--space-3);align-items:center}.drawer{border-bottom:var(--border-width) solid var(--border);background:var(--surface-muted);max-height:300px;overflow-y:auto}.drawer .pad{padding:var(--space-4) var(--space-5)}.doc-row{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-5);border:0;border-bottom:var(--border-width) solid var(--divider);background:none;text-align:left;cursor:pointer;font:inherit}.doc-row:hover{background:var(--surface-muted)}.doc-row.current{background:var(--brand-subtle);box-shadow:inset var(--border-width-accent) 0 0 var(--brand)}.doc-name{display:grid;gap:var(--space-half);min-width:0;font-size:var(--type-body-size);font-weight:600}.doc-sub{font-size:var(--type-caption-size);font-weight:400;color:var(--text-muted);font-variant-numeric:tabular-nums}.doc-total{font-size:var(--type-body-small-size);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.locked{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-width:0 0 var(--border-width) 0;border-radius:0;box-shadow:inset var(--border-width-accent) 0 0 var(--brand)}.locked strong{font-size:var(--type-body-size);color:var(--brand)}.locked span{font-size:var(--type-body-small-size);color:var(--text-secondary);line-height:1.5}.locked .mini{justify-self:start;margin-top:var(--space-half)}.modal .seg{width:100%}.modal .seg button{flex:1;padding:var(--space-2)}.modebar{position:sticky;top:0;z-index:var(--z-modebar);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);background:var(--surface-inverse);color:var(--text-inverse);font-size:var(--type-body-small-size);font-weight:600;line-height:1}.modebar .brand{font-weight:800;letter-spacing:.02em}.modebar .seg{border-color:var(--border-inverse)}.modebar .seg button{background:var(--surface-inverse-raised);color:var(--text-on-inverse)}.modebar .seg button+button{border-left-color:var(--border-inverse)}.modebar .seg button[aria-pressed=true]{background:var(--brand);color:var(--text-inverse)}.modebar .link{margin-left:auto;color:var(--text-on-inverse)}.modebar+.shell{height:calc(100vh - 34px)}.art{border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.art-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2)}.art-head .ref{min-width:20px}.art-head .grow{flex:1;font-weight:600}.art-body{padding:0 var(--space-2) var(--space-2);display:grid;gap:var(--space-2)}.art-body textarea{font-size:var(--type-body-small-size);line-height:1.5}.charge-row{display:grid;gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.charge-row.is-off{opacity:.55}.charge-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.charge-head .check{margin:0}.charge-name{min-width:0;flex:1 1 auto}.charge-kind{font-size:var(--type-caption-size);color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em}.charge-flag{font-size:var(--type-caption-size);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--warning);border:var(--border-width) solid currentColor;border-radius:var(--radius-sm);padding:0 var(--space-1)}.charge-amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.charge-actions{display:flex;gap:var(--space-1)}.charge-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:var(--space-2);align-items:end}.charge-body input,.charge-body select{padding:var(--space-1) var(--space-2);font-size:var(--type-body-small-size)}.charge-base{font-variant-numeric:tabular-nums;font-size:var(--type-body-small-size);color:var(--text-soft);padding:var(--space-1) 0}.mini-select{padding:var(--space-1) var(--space-2);font-size:var(--type-caption-size)}.mini.danger{color:var(--danger)}.page,.page *{box-sizing:border-box}.page{position:relative;font-family:var(--doc-font-sans);font-size:10pt;color:var(--doc-ink);-webkit-font-smoothing:antialiased;width:var(--doc-page-w);height:var(--doc-page-h);margin:10mm auto;background:var(--doc-paper);overflow:hidden;box-shadow:var(--doc-shadow);display:flex;flex-direction:column;padding:0 var(--doc-margin-x)}.page>*{position:relative;z-index:var(--doc-z-flow);flex-shrink:0}.page>.decoration{position:absolute;flex-shrink:1;z-index:var(--doc-z-decoration);pointer-events:none}.page>.watermark{left:50%;top:52%;transform:translate(-50%,-50%);width:118mm;opacity:.055;z-index:var(--doc-z-watermark)}.doc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8mm;padding-top:11mm;padding-bottom:3mm}.doc-head img.logo{height:13mm;width:auto;display:block}.head-contact{text-align:right;font-size:7.6pt;line-height:1.5;color:var(--doc-ink-soft)}.head-contact .legal{display:block;font-size:8.4pt;font-weight:700;letter-spacing:.03em;color:var(--doc-brand);margin-bottom:1mm}.rule-brand{height:var(--doc-rule-brand);background:var(--doc-brand);position:relative}.rule-brand:after{content:"";position:absolute;left:0;bottom:-1.1mm;width:38mm;height:var(--doc-rule-medium);background:var(--doc-rule-strong)}.doc-foot{margin:0 calc(var(--doc-margin-x) * -1);padding:0 var(--doc-margin-x);height:var(--doc-footer-h);background:var(--doc-brand);color:var(--text-inverse);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;font-size:7.4pt;letter-spacing:.02em}.doc-foot>span{min-width:0}.doc-foot .mid{text-align:center;white-space:nowrap}.doc-foot .rgt{text-align:right}.doc-foot .pg{font-variant-numeric:tabular-nums;font-weight:700;opacity:.92}.page>.page-stamp{right:16mm;bottom:26mm;width:22mm;height:22mm;opacity:.5}.page>.initial-box{left:16mm;bottom:26mm;font-family:var(--doc-font-sans);font-size:6.6pt;color:var(--doc-ink-soft)}.initial-box .ln{display:inline-block;width:22mm;border-bottom:var(--doc-rule-thin) solid var(--doc-rule-strong)}.doc-surface{background:var(--doc-desk)}.carry{font-size:7.4pt;font-style:italic;color:var(--doc-ink-soft);padding:1.6mm 0;text-align:right}.doc-divider{height:0;border-top:var(--doc-rule-hairline) solid var(--doc-rule);margin:var(--doc-space-3) 0}.doc-divider.is-heavy{border-top-width:var(--doc-rule-medium)}.doc-divider.is-brand{border-top-width:var(--doc-rule-brand);border-top-color:var(--doc-brand)}.doc-spacer{width:100%}.doc-image{margin:var(--doc-space-3) 0}.doc-image.is-center{text-align:center}.doc-image.is-right{text-align:right}.doc-image img{max-width:100%}.doc-image .cap{font-size:7.4pt;color:var(--doc-ink-soft);margin-top:var(--doc-space-1)}@media print{html,body{background:var(--doc-paper)}.page{margin:0;box-shadow:none;page-break-after:always;break-after:page}.page:last-child{page-break-after:auto;break-after:auto}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page{size:A4 portrait;margin:0}}.doc-title{text-align:center;margin:7mm 0 1.5mm;font-size:17pt;font-weight:800;letter-spacing:.16em;color:var(--doc-brand);text-transform:uppercase}.doc-subject{text-align:center;font-size:9.4pt;font-weight:600;color:var(--doc-ink-soft);margin-bottom:6mm}.meta{display:grid;grid-template-columns:1fr 78mm;gap:8mm;margin-bottom:5mm}.meta .label{font-size:6.9pt;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--doc-brand);margin-bottom:1.4mm;padding-bottom:.8mm;border-bottom:var(--doc-rule-thin) solid var(--doc-rule)}.bill-to .name{font-size:10.6pt;font-weight:700;line-height:1.3}.bill-to .lines{font-size:8.4pt;line-height:1.55;color:var(--doc-ink-soft);margin-top:.8mm}.facts{display:grid;grid-template-columns:auto 1fr;gap:1.1mm 4mm;font-size:8.4pt}.facts dt{color:var(--doc-ink-soft);white-space:nowrap}.facts dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.items{width:100%;border-collapse:collapse;font-size:8.2pt}.items thead th{background:var(--doc-brand);color:var(--doc-paper);font-size:6.9pt;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:2.2mm 2mm;text-align:left;border:var(--doc-rule-hairline) solid var(--doc-brand)}.items tbody td{padding:1.9mm 2mm;border:var(--doc-rule-hairline) solid var(--doc-rule);vertical-align:top;line-height:1.4}.items .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.items .ctr{text-align:center;white-space:nowrap}.items .name{font-weight:600}.items .desc{color:var(--doc-ink-soft)}.items tr.section td{background:var(--doc-brand-wash);font-weight:700;color:var(--doc-brand);border-color:var(--doc-rule-strong);letter-spacing:.01em}.items tr.section .ref{font-variant-numeric:tabular-nums}.items tr.unavailable td{color:var(--doc-ink-faded)}.items .flag{font-size:6.8pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--doc-flag);white-space:nowrap}.summary{display:grid;grid-template-columns:1fr 74mm;gap:6mm;margin-top:5mm;page-break-inside:avoid}.summary.no-totals{grid-template-columns:1fr}.terms{font-size:8.2pt;line-height:1.55}.terms .row{padding:1.6mm 0;border-bottom:var(--doc-rule-hairline) solid var(--doc-rule)}.terms .row:last-child{border-bottom:0}.terms .k{font-size:6.8pt;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--doc-brand);display:block;margin-bottom:.5mm}.totals{border-collapse:collapse;width:100%;font-size:8.6pt;align-self:start}.totals td{padding:2.1mm 2.5mm;border:var(--doc-rule-hairline) solid var(--doc-rule)}.totals td.k{color:var(--doc-ink-soft)}.totals td.v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.totals tr.grand td{background:var(--doc-brand);color:var(--doc-paper);border-color:var(--doc-brand);font-size:9.6pt;font-weight:800}.totals tr.withheld td{font-size:7.8pt;color:var(--doc-ink-soft)}.auth{margin-top:auto;padding-top:6mm;display:grid;grid-template-columns:1fr auto;gap:6mm;align-items:end;page-break-inside:avoid}.auth .prepared{font-size:8.2pt;line-height:1.5}.auth .prepared .k{font-size:6.8pt;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--doc-brand);display:block;margin-bottom:1mm}.auth .prepared .who{font-weight:700;font-size:9.4pt}.auth .prepared .role{color:var(--doc-ink-soft)}.sign-block{position:relative;width:64mm;height:40mm}.sign-block img.sig{position:absolute;right:3mm;bottom:11mm;width:34mm;height:auto}.sign-block img.stamp{position:absolute;left:1mm;bottom:9mm;width:29mm;height:29mm;opacity:.9}.sign-line{position:absolute;left:0;right:0;bottom:7mm;border-bottom:var(--doc-rule-thin) solid var(--doc-rule-strong)}.sign-caption{position:absolute;left:0;right:0;bottom:1.5mm;font-size:6.8pt;letter-spacing:.08em;text-transform:uppercase;color:var(--doc-ink-soft);text-align:center;background:var(--doc-paper)}.thanks{text-align:center;font-size:9.6pt;font-weight:700;letter-spacing:.1em;color:var(--doc-brand);margin:5mm 0 3mm}.page.contract{font-family:var(--doc-font-serif);font-size:9.4pt;line-height:1.62}.page.contract .doc-head{padding-top:10mm;padding-bottom:2.5mm}.page.contract .doc-head img.logo{height:11mm}.page.contract .head-contact{font-family:var(--doc-font-sans);font-size:7pt}.contract-title{text-align:center;margin:8mm 0 0;font-family:var(--doc-font-sans);font-size:15pt;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--doc-brand);line-height:1.25}.contract-subtitle{text-align:center;font-family:var(--doc-font-sans);font-size:10pt;font-weight:600;color:var(--doc-ink-soft);margin-top:1.5mm;letter-spacing:.04em}.contract-ref{text-align:center;font-family:var(--doc-font-sans);font-size:8.4pt;font-weight:700;color:var(--doc-brand);letter-spacing:.1em;margin-top:2mm;padding-bottom:5mm;border-bottom:var(--doc-rule-thin) solid var(--doc-rule)}.parties{display:grid;grid-template-columns:1fr 1fr;gap:7mm;margin:6mm 0 5mm}.party{border:var(--doc-rule-hairline) solid var(--doc-rule);border-top:var(--doc-rule-heavy) solid var(--doc-brand);padding:3mm 3.5mm}.party .role{font-family:var(--doc-font-sans);font-size:6.8pt;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--doc-brand);display:block;margin-bottom:1.5mm}.party .nm{font-weight:700;font-size:10.4pt;line-height:1.3}.party .dt{font-size:8.2pt;color:var(--doc-ink-soft);line-height:1.5;margin-top:1mm}.recital{margin:4mm 0 5mm;text-align:justify}.recital .lead{font-family:var(--doc-font-sans);font-size:6.8pt;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--doc-brand);display:block;margin-bottom:1.5mm}.article{margin-bottom:4.2mm;page-break-inside:avoid}.article h3{font-family:var(--doc-font-sans);font-size:8.6pt;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--doc-brand);margin:0 0 1.6mm;padding-bottom:1mm;border-bottom:var(--doc-rule-hairline) solid var(--doc-rule)}.article p{margin:0 0 2mm;text-align:justify}.article p:last-child{margin-bottom:0}.article ol{margin:0 0 2mm;padding-left:7mm}.article li{margin-bottom:1.2mm;text-align:justify}.article .merged{font-weight:700}.article .unresolved{background:var(--doc-unresolved-surface);color:var(--doc-unresolved-ink);font-weight:700;padding:0 1mm;border-radius:.6mm}.spec{width:100%;border-collapse:collapse;font-size:8.8pt;margin:3mm 0 4mm}.spec th{background:var(--doc-brand);color:var(--doc-paper);text-align:left;font-family:var(--doc-font-sans);font-size:6.9pt;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:2.2mm 2.5mm;border:var(--doc-rule-hairline) solid var(--doc-brand)}.spec td{border:var(--doc-rule-hairline) solid var(--doc-rule);padding:2mm 2.5mm;vertical-align:top}.spec td.k{width:38%;font-weight:700;color:var(--doc-brand);background:var(--doc-brand-wash)}.sign-page-note{font-family:var(--doc-font-sans);font-size:8pt;color:var(--doc-ink-soft);font-style:italic;margin:4mm 0 5mm;text-align:center}.sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:10mm;margin-top:4mm}.sig-col .role{font-family:var(--doc-font-sans);font-size:6.8pt;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--doc-brand);display:block;margin-bottom:2mm}.sig-col .who{font-weight:700;font-size:9.6pt}.sig-col .role-title,.sig-col .co{font-size:8.4pt;color:var(--doc-ink-soft)}.sig-area{position:relative;height:30mm;margin:2mm 0 1.5mm}.sig-area img.sig{position:absolute;left:2mm;bottom:5mm;width:32mm}.sig-area img.stamp{position:absolute;right:3mm;bottom:2mm;width:26mm;height:26mm;opacity:.9}.sig-rule{border-bottom:var(--doc-rule-thin) solid var(--doc-ink);margin-bottom:1.5mm}.sig-meta{font-family:var(--doc-font-sans);font-size:7.6pt;color:var(--doc-ink-soft)}.annex-title{font-family:var(--doc-font-sans);font-size:11pt;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--doc-brand);margin:0 0 3mm;padding-bottom:1.5mm;border-bottom:var(--doc-rule-medium) solid var(--doc-brand)}.page.contract .doc-foot{margin-top:auto}.page.institutional{font-family:var(--doc-font-serif);font-size:10pt;line-height:1.7}.page.institutional .doc-head{padding-top:10mm;padding-bottom:3mm}.page.institutional .doc-head img.logo{height:12mm}.page.institutional .head-contact{font-family:var(--doc-font-sans);font-size:7pt}.inst-title{margin:7mm 0 0;font-family:var(--doc-font-sans);font-size:15pt;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--doc-brand);line-height:1.3}.inst-subject{font-family:var(--doc-font-sans);font-size:10.4pt;font-weight:700;color:var(--doc-ink);margin:5mm 0 4mm;padding-bottom:1.6mm;border-bottom:var(--doc-rule-thin) solid var(--doc-rule)}.inst-ref{font-family:var(--doc-font-sans);font-size:8pt;font-weight:700;letter-spacing:.09em;color:var(--doc-brand);margin-top:1.5mm}.page.institutional .meta{margin:6mm 0 2mm}.inst-body{margin:0 0 3.4mm;text-align:justify}.inst-salutation{margin:0 0 3.4mm}.inst-closing{margin:5mm 0 0}.page.institutional .article h3{border-bottom:0;padding-bottom:0;font-size:9pt;letter-spacing:.05em;margin-bottom:1.2mm}.page.institutional .article{margin-bottom:4.6mm}.page.institutional .auth{margin-top:6mm;padding-top:4mm}.page.institutional .doc-foot{margin-top:auto}.builder{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--background)}.builder-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-sticky)}.builder-bar h1{margin:0;font-family:var(--type-h2-family);font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);color:var(--text-primary)}.builder-bar p{margin:var(--space-half) 0 0}.builder-bar-status{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto}.builder-actions{display:flex;flex-direction:row;align-items:center;gap:var(--space-3);flex:0 0 auto}.builder-actions .btn,.builder-bar-status>.btn{white-space:nowrap}.builder-status{margin:var(--space-1) 0 0;font-size:var(--type-caption-size);font-weight:600;color:var(--success)}.builder-status.is-bad{color:var(--danger)}.builder-bar-status .note{margin:0;min-width:0;max-width:34ch;padding:var(--space-1) var(--space-2);font-size:var(--type-caption-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.builder-library{display:grid;gap:var(--space-5);padding:var(--space-4) var(--space-5);max-height:45vh;overflow:auto;background:var(--surface-muted);border-bottom:1px solid var(--border)}.builder-library-group{display:grid;gap:var(--space-1)}.builder-library-group h2{margin:0 0 var(--space-1)}.builder-library-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.builder-library-name{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-versions{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.builder-versions li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--divider);font-size:var(--type-body-small-size)}.builder-new{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface-muted);border-bottom:1px solid var(--border)}.builder-new .field{min-width:180px}.builder-new-actions{display:flex;gap:var(--space-2)}.builder-new-error{flex-basis:100%;margin:0}.builder-body{display:grid;grid-template-columns:minmax(240px,300px) minmax(280px,360px) minmax(0,1fr);flex:1;min-height:0}.builder-pane{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0;border-right:1px solid var(--border);background:var(--surface)}.builder-pane--preview{border-right:0;background:var(--doc-desk)}.builder-pane-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--divider)}.builder-pane--preview .builder-pane-head{background:var(--surface);border-bottom-color:var(--border)}.builder-pane-head h2{margin:0;font-size:var(--type-label-size);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.builder-scroll{overflow:auto;padding:var(--space-3);display:grid;align-content:start;gap:var(--space-3)}.builder-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted);overflow:hidden}.builder-section-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--surface);border-bottom:1px solid var(--divider)}.builder-section-head .grow{flex:1;min-width:0;font-weight:600}.builder-blocks{list-style:none;margin:0;padding:var(--space-1);display:grid;gap:var(--space-half)}.builder-blocks li{display:flex;align-items:center;gap:var(--space-1);border-top:2px solid transparent;border-bottom:2px solid transparent}.builder-blocks li.drop-before{border-top-color:var(--brand)}.builder-blocks li.drop-after{border-bottom-color:var(--brand)}.builder-blocks li.is-dragging{opacity:.4}.builder-grip{flex:0 0 auto;padding:0 var(--space-half);color:var(--text-muted);cursor:grab;font-size:var(--type-caption-size);line-height:1;-webkit-user-select:none;user-select:none}.builder-blocks li:active .builder-grip{cursor:grabbing}.builder .builder-section-head .tools,.builder .builder-blocks .tools{flex-direction:row;flex:0 0 auto;flex-wrap:nowrap}.builder-block{flex:1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--text-primary)}.builder-block:hover{background:var(--surface);border-color:var(--border)}.builder-block.is-selected{background:var(--brand-subtle);border-color:var(--brand)}.builder-block-type{font-family:var(--font-mono);font-size:var(--type-caption-size);color:var(--text-muted)}.builder-block-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-body-small-size)}.builder-add{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-2)}.builder-add input{flex:1;min-width:0}.builder-add-block{margin:var(--space-2)}.builder-fields{display:grid;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--divider)}.builder-fields h3{margin:0}.builder-fields .field span{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.builder-field-note{flex:0 0 auto;font-size:var(--type-caption-size);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;white-space:nowrap;color:var(--text-muted)}.builder-readonly{display:block;padding:var(--space-1) var(--space-2);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);overflow-x:auto}.builder-binding{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--divider)}.builder-binding code{grid-column:1 / -1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-caption-size);color:var(--text-primary)}.builder-problems{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.builder-problems .mono{font-size:var(--type-caption-size)}.builder-preview{overflow:auto;padding:var(--space-5);display:flex;justify-content:center;justify-content:safe center}.builder-preview>div{display:grid;gap:var(--space-5)}
