:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page: #f5f6f8;--page-elevated: #eef2f6;--surface: #ffffff;--surface-muted: #f8fafc;--surface-strong: #edf2f7;--text: #15202b;--text-muted: #647184;--text-soft: #8793a3;--border: #dfe6ee;--border-soft: #edf1f5;--accent: #0e8a73;--accent-strong: #08705e;--accent-soft: #e7f7f3;--blue: #2b68a0;--blue-soft: #e8f2fb;--danger: #b1443d;--danger-soft: #fff1ef;--warn: #92711b;--warn-soft: #fff7dd;--success: #20734f;--success-soft: #e9f8ef;--focus: rgb(14 138 115 / .22);--shadow-sm: 0 8px 18px rgb(21 32 43 / .07);--shadow-md: 0 18px 48px rgb(21 32 43 / .1);--shadow-lg: 0 28px 72px rgb(21 32 43 / .2);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--content-max: 1120px}:root[data-theme=dark]{color-scheme:dark;--page: #101418;--page-elevated: #151a20;--surface: #1b2128;--surface-muted: #202832;--surface-strong: #26313c;--text: #f2f6f8;--text-muted: #b5c0cc;--text-soft: #8995a2;--border: #33404c;--border-soft: #2a3540;--accent: #72d5c2;--accent-strong: #9ae7d8;--accent-soft: #163931;--blue: #95c4f2;--blue-soft: #172f44;--danger: #ffada7;--danger-soft: #3f2422;--warn: #e9ca64;--warn-soft: #352d16;--success: #94dfb4;--success-soft: #173728;--focus: rgb(114 213 194 / .24);--shadow-sm: 0 8px 18px rgb(0 0 0 / .22);--shadow-md: 0 20px 52px rgb(0 0 0 / .3);--shadow-lg: 0 28px 78px rgb(0 0 0 / .45)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-soft) 62%,transparent),transparent 30rem),linear-gradient(180deg,var(--page),var(--page-elevated))}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.16;letter-spacing:0}h1{font-size:1.05rem;font-weight:850}h2{font-size:clamp(1.38rem,1.08rem + .8vw,1.78rem);font-weight:860}h3{font-size:1.04rem;font-weight:820}p,span,strong,small{overflow-wrap:anywhere}.app-shell{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:100vh}.app-shell.chrome-hidden{grid-template-columns:1fr}.app-shell.chrome-hidden .content{min-height:100vh;padding:0}.brand-mark{position:relative;display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 90%,#ffffff),var(--accent-strong));box-shadow:var(--shadow-sm)}.brand-mark:before,.brand-mark:after{position:absolute;content:""}.brand-mark:before{width:18px;height:14px;border:2px solid #ffffff;border-top:0;border-radius:3px 3px 5px 5px;transform:translateY(4px)}.brand-mark:after{width:18px;height:18px;border-top:2px solid #ffffff;border-left:2px solid #ffffff;transform:translateY(-2px) rotate(45deg)}.nav-list{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));z-index:5;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;width:min(680px,calc(100% - 24px));margin:0 auto;padding:7px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:24px;background:color-mix(in srgb,var(--surface) 93%,transparent);box-shadow:0 -10px 34px #090f162e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nav-link{display:grid;gap:4px;min-height:58px;align-items:center;justify-content:center;justify-items:center;border:1px solid transparent;border-radius:17px;padding:6px 4px;color:var(--text-muted);font-size:.78rem;font-weight:780;line-height:1.12;text-decoration:none;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.nav-link:hover{color:var(--text);background:var(--surface-strong)}.nav-link.active{border-color:color-mix(in srgb,var(--accent) 22%,var(--border));color:var(--accent-strong);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent)}.nav-icon,.section-icon{position:relative;display:grid;place-items:center;flex:0 0 auto}.nav-icon{width:28px;height:28px;border-radius:10px;background:color-mix(in srgb,var(--text-soft) 10%,transparent)}.nav-link.active .nav-icon{background:color-mix(in srgb,var(--accent) 16%,transparent)}.nav-icon:before,.nav-icon:after,.section-icon:before,.section-icon:after{position:absolute;content:"";box-sizing:border-box}.nav-icon-contracts:before,.section-icon-contracts:before{width:13px;height:16px;border:2px solid currentColor;border-radius:3px;color:currentColor}.nav-icon-contracts:after,.section-icon-contracts:after{width:7px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 5px 0 currentColor;transform:translateY(1px)}.nav-icon-properties:before,.section-icon-properties:before{width:16px;height:13px;border:2px solid currentColor;border-top:0;border-radius:3px;color:currentColor;transform:translateY(4px)}.nav-icon-properties:after,.section-icon-properties:after{width:16px;height:16px;border-top:2px solid currentColor;border-left:2px solid currentColor;color:currentColor;transform:translateY(-2px) rotate(45deg)}.nav-icon-settings:before,.section-icon-settings:before{width:16px;height:16px;border:2px solid currentColor;border-radius:50%;color:currentColor}.nav-icon-settings:after,.section-icon-settings:after{width:6px;height:6px;border-radius:50%;background:currentColor}.workspace{min-width:0}.content{min-width:0;padding:28px 30px calc(116px + env(safe-area-inset-bottom))}.page-stack{display:grid;gap:18px;width:min(var(--content-max),100%)}.page-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;min-height:56px}.page-heading.with-action{grid-template-columns:auto minmax(0,1fr) auto}.page-subtitle{max-width:68ch;margin-top:7px;color:var(--text-muted);line-height:1.5}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.section-icon{width:48px;height:48px;border:1px solid var(--border);border-radius:18px;color:var(--accent-strong);background:color-mix(in srgb,var(--surface) 92%,var(--accent-soft));box-shadow:var(--shadow-sm)}.eyebrow{margin:0 0 4px;color:var(--text-soft);font-size:.72rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.panel,.notice{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow-sm)}.workspace-grid{display:grid;grid-template-columns:minmax(292px,.86fr) minmax(360px,1.14fr);grid-template-areas:"upload templates" "fill fill";gap:16px;align-items:start}.upload-panel{grid-area:upload}.templates-panel{grid-area:templates}.fill-panel{grid-area:fill}.security-panel,.settings-panel{max-width:720px}.auth-card{overflow:hidden}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--border-soft)}.panel-header p:not(.eyebrow){margin-top:7px;color:var(--text-muted);line-height:1.5}.notice{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:14px 16px;box-shadow:none}.notice strong{font-size:.9rem;font-weight:830}.notice span{color:var(--text-muted);line-height:1.45}.notice.warn{border-color:color-mix(in srgb,var(--warn) 38%,var(--border));background:var(--warn-soft)}.notice.danger{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));background:var(--danger-soft)}.notice.success{border-color:color-mix(in srgb,var(--success) 38%,var(--border));background:var(--success-soft)}.toast{position:fixed;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:min(420px,calc(100% - 32px));align-items:start;padding:14px 14px 14px 16px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toast div{display:grid;gap:4px}.toast strong{color:var(--text);font-size:.9rem;font-weight:840}.toast span{color:var(--text-muted);line-height:1.42}.toast.success{border-color:color-mix(in srgb,var(--success) 34%,var(--border))}.toast.danger{border-color:color-mix(in srgb,var(--danger) 34%,var(--border))}.toast-close{display:grid;width:30px;min-height:30px;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);background:var(--surface-muted);font-size:1.1rem;line-height:1}.toast-close:hover{color:var(--text);background:var(--surface-strong)}.form-stack{display:grid;gap:15px;padding:18px}.narrow-form{max-width:520px}.field{display:grid;gap:8px}.field span,.toggle-row span{color:var(--text);font-size:.86rem;font-weight:780}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid var(--border);border-radius:14px;padding:11px 13px;color:var(--text);background:var(--surface-muted);outline:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.field input[type=file]{min-height:48px;padding:10px}.field textarea{resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));background:color-mix(in srgb,var(--surface-muted) 84%,var(--surface))}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.toggle-row{display:flex;align-items:flex-start;gap:10px;line-height:1.45}.toggle-row input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--accent)}.primary-button,.secondary-button,.icon-button,.ghost-button,.danger-button{min-height:44px;border-radius:14px;font-weight:820;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.primary-button{border:1px solid var(--accent-strong);color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,#ffffff),var(--accent-strong));box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 30px color-mix(in srgb,var(--accent) 28%,transparent)}.secondary-button{flex:0 0 auto;padding:0 16px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));color:var(--accent-strong);background:var(--accent-soft)}.secondary-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 44%,var(--border));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));transform:translateY(-1px)}.ghost-button{border:1px solid transparent;color:var(--text-muted);background:transparent}.ghost-button:hover:not(:disabled){color:var(--text);background:var(--surface-strong)}.left-align{justify-self:start;padding:0 2px}.icon-button{display:grid;width:38px;min-height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--danger) 28%,var(--border));color:var(--danger);background:var(--danger-soft);font-size:1.22rem;line-height:1}.icon-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 48%,var(--border));transform:translateY(-1px)}.danger-button{padding:0 16px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--border));color:var(--danger);background:var(--danger-soft)}.danger-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 56%,var(--border));transform:translateY(-1px)}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button-row>button{flex:1 1 180px}.inset-form{padding:0}.empty-state{display:grid;gap:6px;padding:18px;color:var(--text-muted);line-height:1.45}.empty-state strong{color:var(--text)}.empty-state.compact{padding:14px;border:1px dashed color-mix(in srgb,var(--border) 88%,var(--accent));border-radius:14px;background:var(--surface-muted)}.template-list{display:grid}.template-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-top:1px solid var(--border-soft);transition:background .16s ease,box-shadow .16s ease}.template-row:first-child{border-top:0}.template-row:hover{background:color-mix(in srgb,var(--surface-muted) 70%,transparent)}.template-row.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.template-row>button:first-child{display:grid;gap:5px;min-width:0;padding:0;border:0;color:inherit;background:transparent;text-align:left}.template-row strong{font-size:.98rem;font-weight:830}.template-row span,.template-row small{color:var(--text-muted)}.template-row small{font-size:.78rem}.placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.segmented-control{display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:min(460px,100%);padding:5px;border:1px solid var(--border);border-radius:16px;background:var(--surface-muted)}.segmented-control button{min-height:40px;border:0;border-radius:12px;color:var(--text-muted);background:transparent;font-weight:820}.segmented-control button:hover{color:var(--text)}.segmented-control button.active{color:var(--accent-strong);background:var(--surface);box-shadow:var(--shadow-sm)}.settings-note{color:var(--text-muted);font-size:.9rem;line-height:1.45}.placeholder-panel{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center;max-width:760px;padding:20px}.placeholder-visual{display:grid;gap:10px;padding:18px;border:1px solid var(--border-soft);border-radius:18px;background:var(--surface-muted)}.placeholder-visual span{display:block;height:44px;border-radius:14px;background:linear-gradient(90deg,var(--accent-soft),var(--blue-soft))}.placeholder-visual span:nth-child(2){width:74%}.placeholder-visual span:nth-child(3){width:54%}.placeholder-copy{display:grid;gap:8px}.placeholder-copy p:not(.eyebrow){color:var(--text-muted);line-height:1.55}.auth-screen{display:grid;min-height:100vh;width:100%;align-content:center;justify-items:center;gap:14px;padding:20px}.auth-brand{display:flex;width:min(440px,100%);align-items:center;gap:12px;padding:0 4px 4px}.auth-screen .notice,.auth-screen .security-panel{width:min(440px,100%)}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:#090f166b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal-dialog{display:grid;width:min(430px,100%);overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-lg)}.modal-header,.modal-body,.modal-actions{padding:17px}.modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;border-bottom:1px solid var(--border-soft)}.modal-close{display:grid;width:36px;min-height:36px;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--text-muted);background:var(--surface-muted);font-size:1.25rem;line-height:1}.modal-close:hover{color:var(--text);background:var(--surface-strong)}.modal-body{color:var(--text-muted);line-height:1.45}.modal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;border-top:1px solid var(--border-soft)}@media(max-width:980px){.workspace-grid{grid-template-columns:1fr;grid-template-areas:"upload" "templates" "fill"}}@media(max-width:820px){body{background:var(--page)}.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);align-content:start}.brand-mark{width:40px;height:40px;border-radius:15px}.nav-link.active{box-shadow:none}.nav-icon{width:28px;height:26px}.content{padding:18px 16px calc(94px + env(safe-area-inset-bottom))}.app-shell.chrome-hidden .content{padding:0}}@media(max-width:560px){h2{font-size:1.34rem}.page-stack{gap:15px}.page-heading,.page-heading.with-action{grid-template-columns:auto minmax(0,1fr);align-items:start}.page-heading.with-action .header-actions{grid-column:1 / -1;justify-content:stretch}.header-actions,.secondary-button,.primary-button{width:100%}.panel-header,.notice{grid-template-columns:1fr}.notice{gap:6px}.placeholder-grid{grid-template-columns:1fr}.template-row{grid-template-columns:minmax(0,1fr) auto;padding:13px}.segmented-control{display:grid}.placeholder-panel{grid-template-columns:1fr}.placeholder-visual{order:2}.modal-actions{grid-template-columns:1fr}.toast{top:max(12px,env(safe-area-inset-top));right:12px;left:12px;width:auto}}@media(max-width:380px){.content{padding-right:12px;padding-left:12px}.segmented-control{grid-template-columns:1fr}}
