@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_1f3c2f0-module__E2i19G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_1f3c2f0-module__E2i19G__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--color-paper:#f6f9fd;--color-paper-2:#eef3f9;--color-paper-3:#e5ebf3;--color-document:#f9f6f2;--color-ink:#131b26;--color-ink-2:#344052;--color-muted:#535e6f;--color-rule:#ccd5e2;--color-rule-strong:#9cacc1;--color-accent:#135ae4;--color-accent-hover:#0047cd;--color-accent-soft:#dce9ff;--color-accent-ink:#f4f9ff;--color-focus:#0056af;--color-success:#006132;--color-success-soft:#d6efde;--color-error:#be1219;--color-error-soft:#ffe3df;--color-warning:#916000;--color-login-panel:#081221;--color-login-panel-2:#18273c;--color-login-muted:#adb9c8;--font-display:var(--font-space);--font-body:var(--font-noto);--font-mono:var(--font-jetbrains);--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-display:clamp(2.25rem, 4vw + .5rem, 4.25rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.87, 0, .13, 1);--dur-fast:.12s;--dur-base:.22s;--dur-slow:.42s;--rule-thin:1px;--rule-strong:2px;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(97.9002% -.492513 -2.20428);--color-paper-2:lab(95.5717% -.808179 -3.66663);--color-paper-3:lab(92.7832% -.961363 -4.39522);--color-document:lab(97.1245% .164807 2.28322);--color-ink:lab(9.40679% -.770189 -8.95401);--color-ink-2:lab(26.7735% -1.29843 -12.6003);--color-muted:lab(39.5714% -1.4233 -10.9085);--color-rule:lab(84.8753% -1.54108 -7.29316);--color-rule-strong:lab(69.7479% -2.43694 -12.6416);--color-accent:lab(41.5884% 22.9348 -77.0883);--color-accent-hover:lab(34.0099% 30.7508 -80.6698);--color-accent-soft:lab(91.7352% -1.11642 -12.993);--color-accent-ink:lab(97.6597% -.808775 -3.66694);--color-focus:lab(35.0471% 15.4914 -73.9316);--color-success:lab(35.534% -42.3698 21.9942);--color-success-soft:lab(92.3525% -10.849 5.55879);--color-error:lab(41.1472% 63.108 46.0696);--color-error-soft:lab(92.6827% 12.0886 7.12334);--color-warning:lab(45.2721% 18.766 70.9367);--color-login-panel:lab(5.10903% -.076659 -11.5667);--color-login-panel-2:lab(15.0715% -.572816 -15.9279);--color-login-muted:lab(74.4205% -1.85773 -9.08266)}}
*,:before,:after{box-sizing:border-box}html,body{background:var(--color-paper);min-height:100%;color:var(--color-ink);margin:0;overflow-x:clip}body{font-family:var(--font-body), sans-serif;font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.55}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{font-family:var(--font-display), sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;font-style:normal;line-height:1.12}code,kbd,.tabular,.contract-id{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:2px}.app-shell{min-height:100dvh}.side-rail{background:var(--color-ink);color:var(--color-paper);display:none}.workspace{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.topbar{align-items:center;gap:var(--space-sm);min-height:4.25rem;padding-inline:clamp(var(--space-md), 4vw, var(--space-xl));border-bottom:var(--rule-thin) solid var(--color-rule);background:var(--color-paper);display:flex}.mobile-brand{align-items:center;gap:var(--space-xs);min-height:44px;font-family:var(--font-display), sans-serif;white-space:nowrap;font-weight:700;display:inline-flex}.command-search{min-width:0;max-width:38rem;height:2.75rem;padding-inline:var(--space-sm);align-items:center;gap:var(--space-xs);background:var(--color-paper-2);color:var(--color-muted);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);flex:1;display:none;position:relative}.command-search input{min-width:0;color:var(--color-ink);background:0 0;border:0;outline:0;flex:1}.command-search kbd{padding:var(--space-2xs) var(--space-xs);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper);font-size:var(--text-xs);color:var(--color-muted)}.topbar__action{margin-inline-start:auto}.demo-banner{padding:var(--space-xs) clamp(var(--space-md), 4vw, var(--space-2xl));background:var(--color-accent-soft);color:var(--color-ink-2);border-bottom:var(--rule-thin) solid var(--color-rule);font-size:var(--text-sm)}.demo-banner code{color:var(--color-accent-hover)}.workspace__main{width:100%;max-width:96rem;padding:clamp(var(--space-xl), 4vw, var(--space-3xl)) clamp(var(--space-md), 4vw, var(--space-3xl));flex:1;margin-inline:auto}.app-footer{gap:var(--space-xs);margin-inline:clamp(var(--space-md), 4vw, var(--space-3xl));padding-block:var(--space-lg);border-top:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm);flex-direction:column;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding-inline:var(--space-md);border:var(--rule-thin) solid transparent;border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-out);font-weight:700;line-height:1;display:inline-flex}.button--primary{background:var(--color-accent);color:var(--color-accent-ink)}.button--secondary{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule-strong)}.button--full{width:100%}.button:active{transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.button[data-state=success]{background:var(--color-success);color:var(--color-paper)}.icon-button{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);width:44px;height:44px;color:var(--color-muted);cursor:pointer;transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);place-items:center;padding:0;display:grid}.icon-button:active{transform:translateY(1px)}.icon-button:disabled{opacity:.55;cursor:not-allowed;color:var(--color-rule-strong)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-head{gap:var(--space-xl);align-items:end;padding-block-end:clamp(var(--space-xl), 5vw, var(--space-3xl));display:grid}.page-head__context{color:var(--color-accent-hover);font-family:var(--font-mono), monospace;font-size:var(--text-sm);margin-block-end:var(--space-sm)}.page-head h1{max-width:12ch;font-size:var(--text-display);margin-block-end:0;font-weight:700}.page-head>p{max-width:36rem;color:var(--color-muted);margin-block-end:0}.page-head--compact h1{max-width:14ch;font-size:clamp(var(--text-xl), 5vw, var(--text-2xl))}.metric-strip{border-block:var(--rule-thin) solid var(--color-rule);margin-block-end:clamp(var(--space-2xl), 6vw, var(--space-4xl));display:grid}.metric-strip>div{align-items:center;gap:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);grid-template-columns:auto 1fr auto;min-height:5.5rem;display:grid}.metric-strip>div:last-child{border-bottom:0}.metric-strip svg{color:var(--color-accent)}.metric-strip span{color:var(--color-muted)}.metric-strip strong{font-family:var(--font-display), sans-serif;font-size:var(--text-xl);font-variant-numeric:tabular-nums}.section-heading{gap:var(--space-lg);margin-block-end:var(--space-lg);display:grid}.section-heading h2{font-size:var(--text-xl);margin-block-end:var(--space-xs)}.section-heading p{color:var(--color-muted);margin-block-end:0}.filter-row{gap:var(--space-xs);display:grid}input,select{width:100%;height:44px;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-strong);outline:var(--rule-strong) solid transparent;outline-offset:1px;border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink)}input::placeholder{color:var(--color-muted);opacity:1}input:focus-visible,select:focus-visible{outline-color:var(--color-focus)}input:disabled,select:disabled{opacity:.55;cursor:not-allowed}input[aria-invalid=true]{border-color:var(--color-error);background:var(--color-error-soft)}.table-wrap{border-top:var(--rule-strong) solid var(--color-ink)}.contract-table{border-collapse:collapse;width:100%}.contract-table thead{display:none}.contract-table tbody,.contract-table tr,.contract-table td{display:block}.contract-table tr{padding-block:var(--space-lg);border-bottom:var(--rule-thin) solid var(--color-rule)}.contract-table td{justify-content:space-between;gap:var(--space-md);padding-block:var(--space-2xs);text-align:end;display:flex}.contract-table td:before{content:attr(data-label);color:var(--color-muted);text-align:start}.contract-table td:first-child{align-items:start}.contract-table td:first-child>span{color:var(--color-muted);font-size:var(--text-sm);display:block}.contract-table td:first-child:before{align-self:center}.contract-table td:last-child{justify-content:flex-end}.row-link{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-accent);transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);place-items:center;display:inline-grid}.status{align-items:center;gap:var(--space-xs);width:fit-content;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;font-weight:700;display:inline-flex}.status--pending{background:var(--color-paper-3);color:var(--color-ink-2)}.status--signed{background:var(--color-success-soft);color:var(--color-success)}.status--expired,.status--void{background:var(--color-error-soft);color:var(--color-error)}.empty-state{justify-items:start;gap:var(--space-sm);padding-block:var(--space-3xl);border-top:var(--rule-strong) solid var(--color-ink);display:grid}.empty-state h3,.empty-state p{margin-block-end:0}.empty-state p{color:var(--color-muted)}.narrow-page,.detail-page{max-width:74rem;margin-inline:auto}.back-link,.text-button{align-items:center;gap:var(--space-2xs);min-height:44px;color:var(--color-muted);white-space:nowrap;display:inline-flex}.text-button{cursor:pointer;background:0 0;border:0;padding:0}.text-button:disabled{opacity:.45;cursor:not-allowed}.form-workbench{gap:var(--space-xl);align-items:start;display:grid}.contract-form{gap:var(--space-lg);padding-block:var(--space-xl);border-top:var(--rule-strong) solid var(--color-ink);display:grid}.form-grid{gap:var(--space-lg);display:grid}.form-field{gap:var(--space-2xs);display:grid}.form-field label{font-weight:700}.field-help,.field-error{min-height:1.35rem;font-size:var(--text-sm);margin-block-end:0}.field-help{color:var(--color-muted)}.field-error{color:var(--color-error)}.input-prefix{border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.input-prefix span{color:var(--color-muted);padding-inline-start:var(--space-sm)}.input-prefix input{border:0}.input-prefix:focus-within{outline:var(--rule-strong) solid var(--color-focus);outline-offset:1px}.form-actions{justify-content:flex-end;padding-block-start:var(--space-sm);display:flex}.form-error{padding:var(--space-sm);background:var(--color-error-soft);color:var(--color-error);border-inline-start:var(--rule-strong) solid var(--color-error);margin-block-end:0}.telegram-guide{padding:var(--space-lg);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-md)}.telegram-guide svg{color:var(--color-accent-soft)}.telegram-guide h2{margin-block:var(--space-sm);font-size:var(--text-md)}.telegram-guide code{padding:var(--space-sm);background:var(--color-ink-2);color:var(--color-paper);border-radius:var(--radius-sm);overflow-wrap:anywhere;display:block}.telegram-guide p{margin-block:var(--space-sm) 0;color:var(--color-paper-3);font-size:var(--text-sm)}.created-notice{gap:var(--space-sm);margin-block:var(--space-lg) var(--space-2xl);padding:var(--space-lg);background:var(--color-accent-soft);border-inline-start:var(--rule-strong) solid var(--color-accent);display:grid}.created-notice div{display:grid}.created-notice code{overflow-wrap:anywhere;color:var(--color-accent-hover)}.created-notice .button{width:fit-content}.detail-head{align-items:flex-start;gap:var(--space-md);padding-block:var(--space-xl);border-bottom:var(--rule-thin) solid var(--color-rule);flex-direction:column;display:flex}.detail-head h1{margin-block:var(--space-xs) 0;font-size:var(--text-2xl)}.detail-head p{color:var(--color-muted);margin-block-end:0}.contract-id{color:var(--color-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.detail-grid{gap:var(--space-xl);padding-block-start:var(--space-xl);display:grid}.document-panel{padding:clamp(var(--space-lg), 4vw, var(--space-2xl));background:var(--color-document);color:var(--color-ink);border:var(--rule-thin) solid var(--color-rule)}.document-panel__head{justify-content:space-between;gap:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule-strong);color:var(--color-muted);font-size:var(--text-sm);padding-block-end:var(--space-lg);display:flex}.document-panel__head div{display:grid}.document-panel__head strong{color:var(--color-ink)}.document-amount{gap:var(--space-xs);padding-block:var(--space-2xl);display:grid}.document-amount span{color:var(--color-muted)}.document-amount strong{font-family:var(--font-display), sans-serif;font-size:clamp(var(--text-xl), 5vw, var(--text-2xl));font-variant-numeric:tabular-nums}.document-terms{border-top:var(--rule-thin) solid var(--color-rule);margin:0}.document-terms div{gap:var(--space-2xs);padding-block:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);display:grid}.document-terms dt{color:var(--color-muted)}.document-terms dd{margin:0;font-weight:700}.document-note{margin-block:var(--space-xl) 0;color:var(--color-muted);font-size:var(--text-sm)}.signature-preview{gap:var(--space-xs);border-top:var(--rule-thin) solid var(--color-rule);margin-block-start:var(--space-xl);padding-block-start:var(--space-lg);display:grid}.signature-preview span{color:var(--color-muted);font-size:var(--text-sm)}.signature-preview img{width:min(16rem,100%);height:auto}.evidence-panel{padding-block-start:var(--space-md)}.evidence-panel h2{font-size:var(--text-md)}.evidence-panel dl{border-top:var(--rule-strong) solid var(--color-ink);margin:0}.evidence-panel dl>div{padding-block:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule)}.evidence-panel dt{align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);display:flex}.evidence-panel dd{margin:var(--space-2xs) 0 0;overflow-wrap:anywhere}.hash-row dd{font-family:var(--font-mono), monospace;font-size:var(--text-xs)}.sign-page{width:min(100% - 2rem,54rem);padding-block:var(--space-lg) var(--space-3xl);margin-inline:auto}.sign-brand{min-height:3.5rem;font-family:var(--font-display), sans-serif;justify-content:space-between;align-items:center;font-weight:700;display:flex}.sign-brand span:last-child{align-items:center;gap:var(--space-2xs);color:var(--color-success);font-family:var(--font-body), sans-serif;font-size:var(--text-sm);display:flex}.sign-document{background:var(--color-paper);border-top:var(--rule-strong) solid var(--color-ink)}.sign-document>header{padding-block:clamp(var(--space-xl), 5vw, var(--space-3xl))}.sign-document>header p{color:var(--color-accent-hover);font-family:var(--font-mono), monospace;font-size:var(--text-sm);margin-block-end:var(--space-sm)}.sign-document>header h1{max-width:16ch;font-size:clamp(var(--text-xl), 7vw, var(--text-2xl));margin-block-end:var(--space-md)}.sign-document>header span{color:var(--color-muted);font-size:var(--text-sm)}.sign-summary{border-block:var(--rule-thin) solid var(--color-rule);display:grid}.sign-summary>div{gap:var(--space-2xs);padding-block:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);display:grid}.sign-summary>div:last-child{border-bottom:0}.sign-summary span{color:var(--color-muted);font-size:var(--text-sm)}.sign-summary strong{font-variant-numeric:tabular-nums}.sign-summary__amount strong{font-family:var(--font-display), sans-serif;font-size:var(--text-lg)}.contract-copy{padding-block:var(--space-2xl);color:var(--color-ink-2)}.contract-copy h2{font-size:var(--text-lg);color:var(--color-ink);text-align:center;margin-block-end:var(--space-lg)}.contract-copy h3{margin-block:var(--space-lg) var(--space-xs);font-family:var(--font-body), sans-serif;font-size:var(--text-base);letter-spacing:0;color:var(--color-ink)}.contract-copy p{margin-block-end:var(--space-sm);line-height:1.85}.contract-parties{margin-block:var(--space-md);border-block:var(--rule-thin) solid var(--color-rule)}.contract-parties div{gap:var(--space-2xs);padding-block:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);display:grid}.contract-parties div:last-child{border-bottom:0}.contract-parties dt{color:var(--color-muted);font-size:var(--text-sm)}.contract-parties dd{color:var(--color-ink);margin:0;font-weight:700}.signature-form{gap:var(--space-lg);border-top:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-xl);display:grid}.signature-heading{justify-content:space-between;align-items:start;gap:var(--space-md);display:flex}.signature-heading span{align-items:center;gap:var(--space-xs);font-weight:700;display:flex}.signature-heading p{margin-block:var(--space-2xs) 0;color:var(--color-muted);font-size:var(--text-sm)}.signature-launcher{width:100%;min-height:clamp(10rem,35vw,14rem);padding:var(--space-md);border:var(--rule-thin) dashed var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-accent-hover);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);place-items:center;display:grid}.signature-launcher>span{justify-items:center;gap:var(--space-xs);display:grid}.signature-launcher small{color:var(--color-muted);font-weight:400}.signature-launcher img{object-fit:contain;width:min(100%,30rem);height:9rem}.signature-mode-open{overflow:hidden}.signature-overlay{z-index:1000;background:var(--color-paper);width:100%;height:100dvh;color:var(--color-ink);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.signature-overlay header,.signature-overlay footer{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:clamp(var(--space-xs), 2vw, var(--space-md));padding-inline:max(clamp(var(--space-xs), 2vw, var(--space-md)), env(safe-area-inset-left));background:var(--color-paper);display:flex}.signature-overlay header{border-bottom:var(--rule-thin) solid var(--color-rule)}.signature-overlay header div{display:grid}.signature-overlay header span{color:var(--color-muted);font-size:var(--text-sm)}.signature-overlay header>button{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);cursor:pointer;place-items:center;width:44px;height:44px;display:grid}.signature-overlay footer{border-top:var(--rule-thin) solid var(--color-rule);padding-bottom:max(clamp(var(--space-xs), 2vw, var(--space-md)), env(safe-area-inset-bottom));justify-content:flex-end}.signature-canvas-wrap{min-height:0;padding:clamp(var(--space-xs), 1.5vw, var(--space-md));background:var(--color-paper-3)}.signature-pad{touch-action:none;background:var(--color-document);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-sm);cursor:crosshair;width:100%;height:100%;min-height:8rem;display:block}.consent-row{align-items:start;gap:var(--space-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr);display:grid}.consent-row input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent);margin-block-start:var(--space-2xs)}.sign-document h1{word-break:break-word}.sign-complete,.already-signed{justify-items:start;gap:var(--space-sm);padding:var(--space-xl);background:var(--color-success-soft);color:var(--color-success);border-inline-start:var(--rule-strong) solid var(--color-success);display:grid}.sign-complete h2,.sign-complete p,.already-signed h2,.already-signed p{margin-block-end:0}.sign-complete p,.already-signed p{color:var(--color-ink-2)}.sign-footer{color:var(--color-muted);font-size:var(--text-sm);padding-block-start:var(--space-xl)}.login-page{background:var(--color-paper);min-height:100dvh;display:grid}.login-brand-panel{gap:clamp(var(--space-2xl), 9vw, var(--space-4xl));min-width:0;padding:clamp(var(--space-lg), 6vw, var(--space-3xl));background:var(--color-login-panel);color:var(--color-paper);flex-direction:column;display:flex}.login-brand{align-items:center;gap:var(--space-sm);min-height:44px;font-family:var(--font-display), sans-serif;font-size:var(--text-md);display:inline-flex}.login-brand>span{border:var(--rule-thin) solid var(--color-login-panel-2);border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--color-accent-soft);place-items:center;display:grid}.login-brand-copy{max-width:36rem}.login-brand-copy>p:first-child{color:var(--color-login-muted);font-family:var(--font-mono), monospace;font-size:var(--text-sm);margin-block-end:var(--space-md)}.login-brand-copy h1{color:var(--color-paper);overflow-wrap:anywhere;margin-block-end:var(--space-lg);font-size:clamp(2.35rem,7vw,4.25rem)}.login-brand-copy>p:last-child{max-width:52ch;color:var(--color-login-muted);margin-block-end:0}.login-assurance{gap:var(--space-xs);border-top:var(--rule-thin) solid var(--color-login-panel-2);color:var(--color-login-muted);font-size:var(--text-sm);margin-block-start:auto;padding-block-start:var(--space-lg);display:grid}.login-assurance span{align-items:center;gap:var(--space-xs);display:flex}.login-assurance svg{color:var(--color-accent-soft)}.login-form-panel{min-width:0;padding:clamp(var(--space-xl), 7vw, var(--space-4xl)) clamp(var(--space-md), 7vw, var(--space-3xl));align-items:center;display:grid}.login-form-shell{width:min(100%,29rem);margin-inline:auto}.login-form-shell>header{margin-block-end:clamp(var(--space-xl), 6vw, var(--space-2xl))}.login-form-shell>header p{color:var(--color-accent-hover);font-family:var(--font-mono), monospace;font-size:var(--text-sm);margin-block-end:var(--space-sm)}.login-form-shell>header h2{font-size:clamp(var(--text-xl), 6vw, var(--text-2xl));margin-block-end:var(--space-sm)}.login-form-shell>header span{color:var(--color-muted);display:block}.login-form{gap:var(--space-lg);display:grid}.login-field{gap:var(--space-xs);display:grid}.login-field label{font-weight:700}.login-input-wrap{color:var(--color-muted);position:relative}.login-input-wrap>svg{pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:var(--space-sm);transform:translateY(-50%)}.login-input-wrap input{background:var(--color-paper-2);height:3.25rem;padding-inline:2.75rem 3.25rem}.login-input-wrap:focus-within>svg{color:var(--color-accent)}.password-toggle{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset-block-start:50%;inset-inline-end:var(--space-2xs);transform:translateY(-50%)}.password-toggle:active{transform:translateY(calc(1px - 50%))}.password-toggle:disabled{opacity:.55;cursor:not-allowed;color:var(--color-rule-strong)}.login-message{min-height:2.7rem;margin-block:calc(var(--space-xs) * -1) 0;color:var(--color-muted);font-size:var(--text-sm)}.login-form[data-state=error] .login-message{color:var(--color-error)}.login-submit{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:3.25rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink);white-space:nowrap;cursor:pointer;transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-out);font-weight:700;display:flex}.login-submit:active{transform:translateY(1px)}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-submit[data-state=error]{background:var(--color-error);border-color:var(--color-error)}.login-submit[data-state=success]{background:var(--color-success);border-color:var(--color-success)}.login-form-shell>footer{align-items:flex-start;gap:var(--space-xs);border-top:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm);margin-block-start:var(--space-xl);padding-block-start:var(--space-md);display:flex}@media (hover:hover) and (pointer:fine){.button--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.button--secondary:hover,.row-link:hover{background:var(--color-paper-2);transform:translateY(-1px)}.side-nav a:hover{background:var(--color-ink-2)}input:hover,select:hover{background:var(--color-paper-2)}.back-link:hover,.text-button:hover{color:var(--color-ink)}.icon-button:hover{background:var(--color-paper-2);color:var(--color-ink);transform:translateY(-1px)}.signature-launcher:hover{border-color:var(--color-accent);background:var(--color-accent-soft);transform:translateY(-1px)}.password-toggle:hover{color:var(--color-ink);background:var(--color-paper-3)}.login-submit:hover{background:var(--color-accent-hover);transform:translateY(-1px)}}@media (min-width:40rem){.command-search{display:flex}.mobile-brand{display:none}.app-footer{flex-direction:row;justify-content:space-between}.page-head{grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr)}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-strip>div{padding-inline:var(--space-lg);border-bottom:0;border-inline-end:var(--rule-thin) solid var(--color-rule)}.metric-strip>div:first-child{padding-inline-start:0}.metric-strip>div:last-child{border-inline-end:0;padding-inline-end:0}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.filter-row{grid-template-columns:9rem minmax(12rem,1fr) auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-head{flex-direction:row;justify-content:space-between;align-items:end}.document-terms div,.contract-parties div{grid-template-columns:10rem minmax(0,1fr)}.sign-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-summary>div{padding-inline:var(--space-lg);border-inline-end:var(--rule-thin) solid var(--color-rule)}.sign-summary>div:nth-child(2n){border-inline-end:0}.sign-summary>div:nth-last-child(-n+2){border-bottom:0}}@media (orientation:portrait) and (max-width:48rem){.signature-overlay header span:after{content:" · 若畫面未旋轉，請手動橫放手機"}}@media (min-width:60rem){.login-page{grid-template-columns:minmax(0,1.08fr) minmax(27rem,.92fr)}.login-brand-panel{min-height:100dvh}.app-shell{grid-template-columns:15rem minmax(0,1fr);display:grid}.side-rail{height:100dvh;padding:var(--space-lg);flex-direction:column;display:flex;position:sticky;inset-block-start:0}.brand{align-items:center;gap:var(--space-sm);min-height:44px;font-family:var(--font-display), sans-serif;white-space:nowrap;font-weight:700;display:flex}.brand__mark{background:var(--color-accent);width:2rem;height:2rem;color:var(--color-accent-ink);border-radius:var(--radius-sm);place-items:center;display:grid}.side-nav{gap:var(--space-2xs);margin-block-start:var(--space-2xl);display:grid}.side-nav a{align-items:center;gap:var(--space-sm);min-height:44px;padding-inline:var(--space-sm);border-radius:var(--radius-sm);color:var(--color-paper-3);white-space:nowrap;transition:background-color var(--dur-base) var(--ease-out);display:flex}.side-rail__foot{gap:var(--space-xs);border-top:var(--rule-thin) solid var(--color-ink-2);color:var(--color-paper-3);font-size:var(--text-xs);margin-block-start:auto;padding-block-start:var(--space-lg);display:grid}.telegram-dot{align-items:center;gap:var(--space-xs);color:var(--color-paper);display:flex}.form-workbench{grid-template-columns:minmax(0,1.45fr) minmax(17rem,.55fr)}.detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr)}.evidence-panel{padding-block-start:0}.contract-table thead{display:table-header-group}.contract-table tbody{display:table-row-group}.contract-table tr{padding:0;display:table-row}.contract-table th,.contract-table td{padding:var(--space-md) var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);text-align:start;vertical-align:middle;display:table-cell}.contract-table th{color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;font-weight:500}.contract-table td:before{content:none}.contract-table td:last-child{width:3.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
