:root{--ink:#f4f1ff;--muted:rgba(244,241,255,0.55);--faint:rgba(244,241,255,0.32);--line:rgba(255,255,255,0.1);--paper:rgba(255,255,255,0.045);--panel:rgba(255,255,255,0.03);--bg:#0d0c16;--c1:#ff5e87;--c2:#ffb86b;--c3:#5eead4;--c4:#7aa2ff;--c5:#c084fc;--gradient:linear-gradient(120deg,var(--c1),var(--c2),var(--c3),var(--c4),var(--c5));--mx:50vw;--my:40vh;--hue:0deg;--scrollbar-size:7px;--scrollbar-track:transparent;--scrollbar-thumb:color-mix(in srgb,var(--c4) 42%,var(--line));--scrollbar-thumb-hover:color-mix(in srgb,var(--c4) 68%,var(--line))}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body),"Segoe UI",sans-serif;font-weight:350}.sky{position:fixed;inset:-20%;z-index:0;pointer-events:none;filter:blur(90px) saturate(1.25) hue-rotate(var(--hue))}.blob{position:absolute;border-radius:50%;mix-blend-mode:screen;opacity:.4}.blob.b1{width:55vmax;height:55vmax;background:radial-gradient(circle,var(--c1),transparent 65%);top:-12%;left:-12%;animation:drift1 28s ease-in-out infinite alternate}.blob.b2{width:48vmax;height:48vmax;background:radial-gradient(circle,var(--c4),transparent 65%);bottom:-16%;right:-10%;animation:drift2 33s ease-in-out infinite alternate}.blob.b3{width:38vmax;height:38vmax;background:radial-gradient(circle,var(--c3),transparent 65%);top:35%;left:45%;animation:drift3 24s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate(16vw,10vh) scale(1.18)}}@keyframes drift2{to{transform:translate(-12vw,-14vh) scale(.9)}}@keyframes drift3{to{transform:translate(-18vw,9vh) scale(1.22)}}.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(34vmax at var(--mx) var(--my),rgba(255,94,135,.12),rgba(122,162,255,.06) 40%,transparent 70%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;gap:24px;min-height:100vh;max-height:100vh;overflow:hidden}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--gradient);background-size:300% 300%;animation:shimmer 8s linear infinite;font-family:var(--font-display),Georgia,serif;font-weight:600;flex-shrink:0}@keyframes shimmer{to{background-position:300% 0}}.tab-list{display:grid;grid-gap:8px;gap:8px;flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-gutter:stable}.reference-link,.tab-button{color:var(--muted);background:transparent;border:0;border-radius:10px;display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;text-align:left;text-decoration:none;transition:color .25s,background .25s,padding .25s cubic-bezier(.34,1.6,.5,1)}.tab-button:hover{color:var(--ink);padding-left:15px;padding-right:9px}.tab-button.active{color:var(--ink)}.reference-link{margin-top:auto;border:1px solid var(--line);font-size:13px}.reference-link:hover{border-color:var(--c3);color:var(--c3)}.workspace{padding:26px;display:grid;align-content:start;grid-gap:18px;gap:18px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center}.eyebrow,.field span,.metric span,.notice,.panel-title h2{color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.topbar h1{margin:2px 0 0;font-family:var(--font-display),Georgia,serif;font-variation-settings:"SOFT" 60,"WONK" 1,"opsz" 100;font-size:38px;font-weight:560;letter-spacing:-.01em}.reactive-title .ch{display:inline-block;white-space:pre;background:var(--gradient);background-size:400% 400%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 9s linear infinite,rise .7s cubic-bezier(.2,.8,.2,1) both;transition:transform .35s cubic-bezier(.34,1.6,.5,1)}.reactive-title .ch:hover{transform:translateY(-.12em) rotate(-4deg) scale(1.1)}@keyframes rise{0%{opacity:0;transform:translateY(.5em);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;display:grid;place-items:center;transition:border-color .25s,transform .25s,box-shadow .25s}.icon-button:hover{border-color:var(--c4);transform:translateY(-2px) rotate(15deg);box-shadow:0 8px 24px -10px var(--c4)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.metric,.panel,.record{background:var(--paper);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.metric{padding:16px;display:grid;grid-gap:8px;gap:8px;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.metric:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient);background-size:300% 100%;animation:shimmer 8s linear infinite;opacity:.7}.metric:first-child{--metric-glow:var(--c1)}.metric:nth-child(2){--metric-glow:var(--c2)}.metric:nth-child(3){--metric-glow:var(--c3)}.metric:nth-child(4){--metric-glow:var(--c4)}.metric:hover{transform:translateY(-4px);border-color:var(--metric-glow,var(--c4));box-shadow:0 18px 45px -20px var(--metric-glow,var(--c4))}.metric strong{font-size:26px;font-family:var(--font-display),Georgia,serif;font-weight:500;background:linear-gradient(120deg,var(--ink),var(--metric-glow,var(--c4)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.notice{min-height:20px;margin:0}.content-grid{display:grid;grid-gap:18px;gap:18px;align-items:start}.content-grid.two{grid-template-columns:minmax(360px,520px) minmax(0,1fr)}.content-grid.artworks-layout{grid-template-columns:minmax(360px,520px) auto;justify-content:start;gap:14px;align-items:start}.content-grid.documents{grid-template-columns:minmax(320px,420px) minmax(470px,1fr) minmax(320px,420px)}.content-grid.documents-invoice{grid-template-columns:auto auto;justify-content:start;gap:14px;align-items:start}.content-grid.documents-invoice .identity-tile{grid-column:1/-1}.content-grid.notes-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.content-grid.calendar-layout{grid-template-columns:auto minmax(280px,360px) auto;justify-content:start;gap:14px;align-items:stretch}.content-grid.calendar-layout .panel-shell-calendar-upcoming,.content-grid.calendar-layout .panel-shell-tasks.panel-shell.resizable{display:flex;flex-direction:column;min-height:100%}.content-grid.calendar-layout .panel-shell-calendar-upcoming .panel-shell-body{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tasks-shell.panel-shell.resizable .panel-shell-body{overflow:auto;min-height:0;padding-right:12px}.tasks-shell.panel-shell.resizable .panel-shell-body>div{min-height:min-content}.tasks-shell.panel-shell.resizable .task-check-list{overflow:visible;margin-top:12px}.tasks-shell.panel-shell.resizable .task-row{flex-wrap:wrap;row-gap:4px}.tasks-shell.panel-shell.resizable .task-title{overflow-wrap:anywhere}.panel{padding:18px}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--c4)}.panel-title h2{margin:0;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field.wide,.wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;color:var(--ink);transition:border-color .25s,box-shadow .25s}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--c4);box-shadow:0 0 0 3px var(--focus-ring)}.field select option{color:var(--ink)}.field textarea{min-height:86px;resize:vertical}.file-field input{padding:7px 10px}.primary-button,.secondary-button{min-height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;margin-top:14px;font-weight:500;transition:transform .25s cubic-bezier(.34,1.8,.5,1),box-shadow .25s,background-position .4s}.primary-button{border:0;background:linear-gradient(120deg,var(--c2),var(--c1),var(--c5));background-size:220% 220%;font-weight:600}.primary-button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 32px -12px var(--c1);background-position:100% 0}.primary-button:active{transform:scale(.97)}.primary-button:disabled{opacity:.45;transform:none;box-shadow:none}.secondary-button{border:1px solid var(--line);background:var(--control-bg);color:var(--ink)}.secondary-button:hover{border-color:var(--c3);color:var(--c3);transform:translateY(-2px)}.button-row,.inline-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-controls .field{flex:1 1 150px}.price-strip{margin-top:14px;padding:14px;background:linear-gradient(120deg,rgba(94,234,212,.1),rgba(122,162,255,.1));border:1px solid rgba(94,234,212,.3);border-radius:12px;display:flex;justify-content:space-between;align-items:center}.price-strip span{color:var(--c3);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.price-strip strong{font-family:var(--font-display),Georgia,serif;font-size:24px;background:linear-gradient(120deg,var(--c3),var(--c4));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.identity-preview{display:grid;place-items:center;align-content:center;grid-gap:14px}.identity-preview img{width:150px;max-height:150px;object-fit:contain}.identity-preview h2{font-family:var(--font-display),Georgia,serif;font-size:34px;font-weight:500;margin:0;background:var(--gradient);background-size:300% 300%;animation:shimmer 9s linear infinite;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.identity-preview p{margin:0;color:var(--muted)}.record-list{display:grid;grid-gap:10px;gap:10px}.record{min-height:96px;display:grid;grid-template-columns:78px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:10px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.record:hover{transform:translateY(-3px);border-color:var(--c5);box-shadow:0 16px 40px -22px var(--c5)}.record img{width:78px;height:78px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.record h3,.record p{margin:0}.record h3{font-family:var(--font-display),Georgia,serif;font-size:20px;font-weight:500}.record h3,.record strong{color:var(--ink)}.record p{color:var(--muted);font-size:13px}.cv-list,.selection-list,.supply-table,.task-list{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.cv-list p,.selection-row,.supply-table p,.task-list p{margin:0;min-height:40px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.selection-row strong,.supply-table strong{margin-left:auto}.supply-table p,.task-list p{justify-content:space-between}.task-list p span{color:var(--muted);font-size:12px}.note-composer{position:relative;display:grid;grid-gap:12px;gap:12px}.note-panel{width:100%}.note-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.note-panel.is-floating .note-panel-top{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.note-panel.is-floating .note-panel-top:active{cursor:-webkit-grabbing;cursor:grabbing}.note-panel-top .panel-title{margin-bottom:0}.note-panel-controls{display:flex;align-items:center;gap:6px}.note-panel-controls button{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.055);transition:transform .2s,color .2s,border-color .2s}.note-panel-controls button:hover{color:var(--c3);border-color:var(--c3);transform:translateY(-1px)}.sidebar-notes-slot{margin-top:auto}.sidebar-notes-slot+.reference-link{margin-top:0}.note-panel.is-sidebar{padding:12px;border-radius:14px;background:rgba(255,255,255,.055);box-shadow:0 18px 50px rgba(0,0,0,.22)}.note-panel.is-sidebar .panel-title h2{font-size:10px}.note-panel.is-sidebar .field span{font-size:9px}.note-panel.is-sidebar .field input,.note-panel.is-sidebar .field textarea{min-height:34px;padding:7px 8px;font-size:12px}.note-panel.is-sidebar .field textarea{min-height:74px}.note-panel.is-sidebar .primary-button{width:100%;min-height:36px;margin-top:8px;font-size:11px}.note-panel.is-sidebar .swatch-row{gap:7px}.note-panel.is-sidebar .swatch{width:18px;height:18px}.floating-notes-panel{position:fixed;z-index:30;width:min(340px,calc(100vw - 32px));animation:pop .26s cubic-bezier(.34,1.4,.5,1) both}.floating-notes-panel .note-panel{border-color:color-mix(in srgb,var(--c4) 42%,var(--line));background:var(--elevated);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 28px 80px rgba(0,0,0,.48)}.note-panel-placeholder{min-height:190px;display:grid;align-content:start;grid-gap:12px;gap:12px}.note-panel-placeholder p{color:var(--muted);margin:0;line-height:1.6}.note-composer:before{content:"";position:absolute;inset:-1px;border-radius:15px;padding:1px;background:var(--gradient);background-size:300% 300%;animation:shimmer 7s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.note-panel.is-floating:before,.note-panel.is-sidebar:before{border-radius:14px}.swatch-row{display:flex;gap:10px}.swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;padding:0;transition:transform .25s cubic-bezier(.34,1.8,.5,1),border-color .25s}.swatch:hover{transform:scale(1.25) rotate(15deg)}.swatch.active{border-color:var(--ink);transform:scale(1.18)}.palette-composer-bar{align-items:flex-start;flex-wrap:wrap;gap:14px}.palette-picker{display:grid;grid-gap:10px;gap:10px;flex:1 1;min-width:min(100%,420px)}.palette-picker.compact{min-width:0}.palette-presets{margin-bottom:2px}.palette-reference{border:1px dashed color-mix(in srgb,var(--c4) 28%,var(--line));border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.02);display:grid;grid-gap:10px;gap:10px}.palette-reference-head{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.palette-reference-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.palette-upload-btn{flex-shrink:0}.palette-source-field{flex:1 1;min-width:180px;margin:0}.palette-source-field select{width:100%}.palette-result{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start}.palette-preview{width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.03)}.palette-preview img{width:100%;height:100%;object-fit:cover;display:block}.palette-preview.placeholder{display:grid;place-items:center;color:var(--faint)}.palette-suggestions{display:grid;grid-gap:8px;gap:8px;min-width:0}.palette-source-label{margin:0;font-size:11px;color:var(--faint)}.palette-swatches{display:flex;flex-wrap:wrap;gap:8px}.palette-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:4px 10px 4px 4px;background:rgba(255,255,255,.03);color:inherit;transition:border-color .2s,transform .2s}.palette-chip.active,.palette-chip:hover{border-color:var(--chip-color,var(--c4));transform:translateY(-1px)}.palette-chip-dot{width:22px;height:22px;border-radius:999px;background:var(--chip-color,var(--c4));border:1px solid rgba(255,255,255,.2);flex-shrink:0}.palette-chip-meta{display:grid;text-align:left;line-height:1.1}.palette-chip-meta strong{font-size:11px;font-weight:600}.palette-chip-meta small{font-size:10px;color:var(--faint)}.ts-palette-panel{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:rgba(255,255,255,.02);display:grid;grid-gap:10px;gap:10px}.canvas-add-chip.active{border-color:var(--c4);color:var(--c4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px;align-items:start}.note-empty{grid-column:1/-1;text-align:center;padding:60px 16px;margin:0;color:var(--muted);font-family:var(--font-display),Georgia,serif;font-style:italic;font-size:19px}.note-card{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:16px 16px 12px;animation:pop .45s cubic-bezier(.34,1.4,.5,1) both;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.note-card:nth-child(odd){transform:rotate(-.5deg)}.note-card:nth-child(3n){transform:rotate(.5deg)}.note-card:hover{transform:translateY(-5px) rotate(0deg);border-color:var(--accent,var(--c4));box-shadow:0 22px 50px -24px var(--accent,var(--c4));z-index:2}@keyframes pop{0%{opacity:0;transform:translateY(20px) scale(.95)}}.note-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent,var(--c4)),transparent)}.note-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-36px;bottom:-36px;background:radial-gradient(circle,var(--accent,var(--c4)),transparent 70%);opacity:.12;transition:opacity .3s,transform .45s;pointer-events:none}.note-card:hover:after{opacity:.28;transform:scale(1.6)}.note-card.pinned{border-color:var(--accent,var(--c4))}.note-card h3{margin:0 48px 6px 0;font-family:var(--font-display),Georgia,serif;font-size:19px;font-weight:560;transition:color .25s}.note-card:hover h3{color:var(--accent,var(--c4))}.note-card p{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--muted);white-space:pre-wrap;word-break:break-word}.note-card time{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.note-palette-saved{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03)}.note-palette-saved .palette-source-label{margin:0 0 8px}.note-palette-swatches{display:flex;flex-wrap:wrap;gap:6px}.palette-chip.readonly{cursor:default;pointer-events:none;padding:6px 8px}.note-flip-card .note-palette-saved{margin-top:10px;padding:8px 10px}.note-flip-card .note-palette-swatches{gap:4px}.note-flip-card .palette-chip.readonly{padding:4px 6px}.note-flip-card .palette-chip-meta strong{font-size:10px}.note-card-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;opacity:0;transition:opacity .25s}.note-panel-recent{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding-top:10px}.note-panel-recent article{position:relative;display:grid;grid-gap:4px;gap:4px;min-height:54px;padding:9px 58px 9px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035)}.note-panel-recent article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:10px 0 0 10px;background:var(--accent,var(--c4))}.note-panel-recent strong{font-size:12px}.note-panel-recent p{max-height:3.2em;overflow:hidden;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.note-panel-recent .note-action{position:absolute;top:8px}.note-panel-recent .note-action:first-of-type{right:34px}.note-panel-recent .note-action:last-of-type{right:8px}.note-card-actions:focus-within,.note-card:hover .note-card-actions{opacity:1}.note-action{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--muted);transition:all .25s}.note-action.active,.note-action:hover{border-color:var(--accent,var(--c4));color:var(--accent,var(--c4))}.note-action.danger:hover{background:var(--c1);border-color:var(--c1);transform:rotate(90deg)}.invoice-preview{--ink:#171717;--muted:#6d706f;--line:#d7d3ca;background:#fffdf8;color:var(--ink);border:1px solid var(--line);border-radius:8px;min-height:297mm;width:min(100%,210mm);padding:14mm 16mm;position:relative;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.45)}.invoice-preview .watermark{position:absolute;width:42%;max-height:42%;object-fit:contain;opacity:.07;left:50%;top:44%;transform:translate(-50%,-50%);pointer-events:none}.inv-wordmark{font-family:Georgia,serif;font-size:26px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-bottom:2.5px solid #171717;padding-bottom:10px;margin-bottom:12px}.inv-meta-row{display:flex;gap:28px;margin-bottom:16px;font-size:12px}.inv-meta-row>div{display:flex;gap:5px;align-items:baseline}.inv-meta-row span{color:#6d706f;text-transform:uppercase;letter-spacing:.08em}.inv-meta-row strong{font-weight:600}.inv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #d7d3ca}.bill-to-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#6d706f;margin-bottom:6px}.bill-to-box p{margin:0 0 2px;line-height:1.5;font-size:13px}.bill-to-box .client-name{font-weight:700;font-size:15px}.bill-to-box .client-email{color:#6d706f;font-size:11px}.inv-logo{flex-shrink:0;width:90px;text-align:right}.inv-logo img{max-width:90px;max-height:70px;object-fit:contain}.inv-logo-placeholder{width:70px;height:70px;border:2px solid #d7d3ca;border-radius:8px;display:grid;place-items:center;font-size:28px;font-weight:700;color:#d7d3ca;margin-left:auto}.inv-table{width:100%;border-collapse:collapse;margin-bottom:10px}.inv-table th{text-align:left;padding:7px 0;border-bottom:2px solid #171717;color:#6d706f;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.inv-table td:nth-child(2),.inv-table th:nth-child(2){text-align:center}.inv-table td:last-child,.inv-table th:last-child{text-align:right}.inv-table td{border-bottom:1px solid #d7d3ca;padding:10px 0;vertical-align:top;font-size:13px}.invoice-artwork{display:flex;gap:10px}.invoice-artwork img{width:48px;height:58px;object-fit:cover;border:1px solid #d7d3ca}.invoice-artwork span{display:grid;grid-gap:3px;gap:3px}.invoice-artwork small{color:#6d706f;font-size:11px}.inv-table td.amt{font-weight:600}.inv-table .discount-row td{color:#a95e49}.inv-table .shipping-row td,.inv-table .tax-row td{color:#555}.inv-total{display:flex;justify-content:flex-end;align-items:baseline;gap:20px;padding:10px 0;border-top:2.5px solid #171717;margin-bottom:18px}.inv-total-lbl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6d706f}.inv-total-val{font-size:24px;font-weight:700;font-family:Georgia,serif}.pay-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:18px}.pay-box{border:1px solid #d7d3ca;border-radius:8px;padding:12px 14px;font-size:12px}.pay-box h4{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em}.pay-box p{margin:0 0 8px;color:#6d706f}.payfast-btn{display:inline-block;background:#0070ba;color:#fff;padding:7px 14px;border-radius:5px;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:6px}.payfast-btn:hover{background:#005fa0}.pay-feature-locked{display:flex;align-items:center;gap:8px;color:#aaa;font-style:italic;font-size:12px;padding:6px 0}.pay-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid #ede9e0;padding:4px 0}.pay-row span{color:#6d706f;font-size:11px}.pay-row strong{font-size:12px;font-weight:600}.pay-note{color:#999!important;font-size:10px!important}.inv-shipping{border-top:1px solid #d7d3ca;padding-top:12px;margin-bottom:16px;font-size:12px}.inv-shipping h4{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em}.inv-shipping p{margin:0 0 4px;color:#6d706f;line-height:1.5}.inv-footer{border-top:1px solid #171717;padding-top:10px;font-size:11px;color:#6d706f}.inv-footer .inv-studio{margin-bottom:6px;line-height:1.6}.inv-footer .inv-studio strong{color:#171717}.inv-copyright{margin:0 0 4px;font-size:10px;line-height:1.5}.inv-thanks{margin:6px 0 0;font-weight:700;letter-spacing:.1em;color:#171717;font-size:11px}.invoice-meta{margin:26px 0;display:flex;justify-content:space-between;gap:20px}.invoice-meta div{display:grid;grid-gap:6px;gap:6px}.invoice-meta span{font-size:12px;letter-spacing:.1em}.invoice-meta span,.invoice-section-head{color:var(--muted);text-transform:uppercase}.invoice-section-head{font-size:10px;letter-spacing:.2em;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.invoice-section-head:first-child{margin-top:0}.shipping-region-row{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0}.shipping-region-row label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px}.tab-button[draggable=true]{cursor:-webkit-grab;cursor:grab}.tab-button[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.tab-button.tab-drag-over{background:linear-gradient(120deg,rgba(94,234,212,.15),rgba(122,162,255,.12));border:1px solid rgba(94,234,212,.4)}.identity-preview{min-height:340px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:20px 0}.identity-logo-area{width:120px;height:100px;display:grid;place-items:center}.identity-logo-area img{max-width:120px;max-height:100px;object-fit:contain}.identity-logo-placeholder{width:96px;height:96px;border:2px dashed var(--line);border-radius:14px;display:grid;place-items:center;color:var(--faint);font-size:13px;cursor:pointer;transition:border-color .25s,color .25s}.identity-logo-placeholder:hover{border-color:var(--c4);color:var(--c4)}.identity-name{font-family:var(--font-display),Georgia,serif;font-size:32px;font-weight:500;margin:0;background:var(--gradient);background-size:300% 300%;animation:shimmer 9s linear infinite;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.identity-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 16px;gap:8px 16px;text-align:left;width:100%;max-width:360px;margin-top:4px}.identity-detail{display:grid;grid-gap:2px;gap:2px}.identity-detail span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.identity-detail strong{font-size:13px;word-break:break-word}.identity-watermark-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.identity-watermark-thumb{width:48px;height:36px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:var(--control-bg);padding:4px}.identity-empty-hint{color:var(--faint);font-style:italic;font-size:14px}.record{position:relative}.record-edit-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--elevated);color:var(--muted);opacity:0;transition:opacity .2s,color .2s,border-color .2s}.record:hover .record-edit-btn{opacity:1}.record-edit-btn:hover{color:var(--c4);border-color:var(--c4)}.artwork-edit-form{background:var(--paper);border:1px solid var(--c4);border-radius:16px;padding:16px;margin:-1px 0 0;animation:pop .3s cubic-bezier(.34,1.4,.5,1) both}.artwork-image-upload{display:flex;flex-direction:column;gap:8px;margin-top:6px}.artwork-img-preview{width:80px;height:80px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.img-upload-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;transition:border-color .2s,color .2s;background:none}.img-upload-btn:hover{border-color:var(--c4);color:var(--c4)}.intake-image-row{grid-column:1/-1;display:flex;align-items:center;gap:14px}.intake-img-thumb{width:80px;height:80px;object-fit:cover;border-radius:10px;border:1px solid var(--line);flex-shrink:0}.intake-img-controls{display:flex;flex-direction:column;gap:6px;flex:1 1}.invoice-onboarding-modal{max-width:520px}.inv-onboard-upload-step{display:flex;flex-direction:column;gap:10px}.inv-onboard-dropzone{min-height:140px;border:2px dashed var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--muted);font-size:14px;transition:border-color .25s,color .25s;padding:16px}.inv-onboard-dropzone:hover{border-color:var(--c4);color:var(--c4)}.inv-onboard-dropzone small{font-size:11px;opacity:.6}.inv-onboard-preview{max-height:110px;max-width:100%;object-fit:contain;border-radius:6px}.watermark-preview{opacity:.5;background:var(--control-bg)}.inv-onboard-confirm{display:flex;flex-direction:column;gap:12px}.inv-onboard-confirm-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.inv-onboard-confirm-row{display:grid;grid-gap:3px;gap:3px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.inv-onboard-confirm-row span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.inv-onboard-confirm-row strong{font-size:13px}.inv-onboard-assets{display:flex;gap:14px}.inv-onboard-asset-thumb{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.inv-onboard-asset-thumb img{width:56px;height:42px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:var(--control-bg);padding:3px}.modal-error{font-size:13px;padding:0 0 4px}@media (max-width:1180px){.content-grid.artworks-layout,.content-grid.calendar-layout,.content-grid.documents,.content-grid.documents-invoice,.content-grid.notes-layout,.content-grid.two{grid-template-columns:1fr}.invoice-preview{min-height:900px}}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:10;flex-direction:row;align-items:center;overflow-x:auto}.tab-list{display:flex}.reference-link{margin-top:0;white-space:nowrap}.workspace{padding:16px}.form-grid,.stats-grid{grid-template-columns:1fr}.tab-button span{display:none}.record{grid-template-columns:64px 1fr}.record strong{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}html{--font-display:var(--font-fraunces);--surface:rgba(10,9,18,0.7);--elevated:rgba(16,15,27,0.92);--overlay:rgba(16,15,27,0.97);--input-bg:rgba(255,255,255,0.04);--control-bg:rgba(255,255,255,0.05);--option-bg:#16151f;--on-accent:#16101a;--focus-ring:rgba(122,162,255,0.18)}html[data-font=unbounded]{--font-display:var(--font-unbounded)}html[data-font=cormorant]{--font-display:var(--font-cormorant)}html[data-theme=atelier]{--bg:#f3eee2;--ink:#241f1a;--muted:rgba(36,31,26,0.6);--faint:rgba(36,31,26,0.38);--line:rgba(36,31,26,0.14);--paper:rgba(255,255,255,0.62);--surface:rgba(255,252,244,0.82);--elevated:rgba(255,252,246,0.96);--overlay:rgba(255,252,246,0.98);--input-bg:rgba(255,255,255,0.75);--control-bg:rgba(255,255,255,0.55);--option-bg:#fffdf6;--on-accent:#fffdf6;--focus-ring:rgba(70,96,140,0.2);--c1:#a95e49;--c2:#b8893a;--c3:#315c51;--c4:#46608c;--c5:#7d5ba6}html[data-theme=atelier] .blob{opacity:.22;mix-blend-mode:multiply}html[data-theme=terracotta]{--bg:#1d1310;--ink:#ffeede;--muted:rgba(255,238,222,0.58);--faint:rgba(255,238,222,0.34);--line:rgba(255,238,222,0.12);--paper:rgba(255,238,222,0.05);--surface:rgba(24,14,11,0.72);--elevated:rgba(34,20,16,0.94);--overlay:rgba(34,20,16,0.98);--input-bg:rgba(255,238,222,0.05);--control-bg:rgba(255,238,222,0.06);--option-bg:#2a1b15;--on-accent:#221310;--focus-ring:rgba(217,119,102,0.22);--c1:#ff8a5c;--c2:#ffd2a8;--c3:#e0a96d;--c4:#d97766;--c5:#c4564a}html[data-theme=botanic]{--bg:#0c1410;--ink:#eafbee;--muted:rgba(234,251,238,0.56);--faint:rgba(234,251,238,0.32);--line:rgba(234,251,238,0.11);--paper:rgba(234,251,238,0.045);--surface:rgba(8,16,11,0.72);--elevated:rgba(12,22,16,0.94);--overlay:rgba(12,22,16,0.98);--input-bg:rgba(234,251,238,0.05);--control-bg:rgba(234,251,238,0.06);--option-bg:#12211a;--on-accent:#0c1810;--focus-ring:rgba(111,216,192,0.22);--c1:#7ee0a3;--c2:#d6f56b;--c3:#4ade80;--c4:#6fd8c0;--c5:#b6f0ad}html[data-theme=violet]{--bg:#14101f;--ink:#f6f0ff;--muted:rgba(246,240,255,0.56);--faint:rgba(246,240,255,0.32);--line:rgba(246,240,255,0.11);--paper:rgba(246,240,255,0.05);--surface:rgba(16,11,26,0.72);--elevated:rgba(22,16,34,0.94);--overlay:rgba(22,16,34,0.98);--input-bg:rgba(246,240,255,0.05);--control-bg:rgba(246,240,255,0.06);--option-bg:#1e1630;--on-accent:#170f24;--focus-ring:rgba(129,140,248,0.22);--c1:#c084fc;--c2:#f0abfc;--c3:#5eead4;--c4:#818cf8;--c5:#ff8ad4}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.sidebar{background:var(--surface);color:var(--ink)}.field input,.field select,.field textarea{background:var(--input-bg)}.field select option{background:var(--option-bg)}.brand-mark,.primary-button{color:var(--on-accent)}.tab-button.active{background:linear-gradient(120deg,color-mix(in srgb,var(--c1) 20%,transparent),color-mix(in srgb,var(--c4) 20%,transparent));border:1px solid color-mix(in srgb,var(--c1) 35%,transparent)}.note-action{background:var(--surface)}.note-action.danger:hover{color:var(--on-accent)}.topbar-actions{display:flex;align-items:center;gap:10px}.primary-button.slim,.secondary-button.slim{margin-top:0;min-height:38px}.user-chip{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px}.user-chip>svg{color:var(--c4)}.customize-anchor{position:relative}.customize-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:40;width:290px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 30px 70px -25px rgba(0,0,0,.6);animation:pop .3s cubic-bezier(.34,1.4,.5,1) both}.customize-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--c2);font-size:13px;letter-spacing:.14em;text-transform:uppercase}.customize-head .modal-close.inline{margin-left:auto;position:static}.customize-label{margin:12px 0 8px;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.font-row,.theme-row{display:grid;grid-gap:8px;gap:8px}.font-chip,.theme-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:9px 12px;text-align:left;transition:border-color .25s,transform .25s cubic-bezier(.34,1.6,.5,1)}.font-chip:hover,.theme-chip:hover{transform:translateX(3px);border-color:var(--c4)}.font-chip.active,.theme-chip.active{border-color:var(--c1);box-shadow:0 0 0 1px var(--c1),0 8px 24px -12px var(--c1)}.theme-dots{display:inline-flex;gap:4px}.theme-dots i{width:13px;height:13px;border-radius:50%;border:1px solid rgba(127,127,127,.3)}.font-chip{flex-direction:column;align-items:flex-start;gap:2px}.font-chip strong{font-size:17px;font-weight:600}.font-chip[data-font-preview=fraunces] strong{font-family:var(--font-fraunces),Georgia,serif}.font-chip[data-font-preview=unbounded] strong{font-family:var(--font-unbounded),sans-serif}.font-chip[data-font-preview=cormorant] strong{font-family:var(--font-cormorant),Georgia,serif}.font-chip small{color:var(--muted)}.panel-shell{background:var(--paper);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;transition:border-color .3s,box-shadow .3s,opacity .3s,transform .3s;animation:pop .4s cubic-bezier(.34,1.4,.5,1) both}.panel-shell.resizable{position:relative;display:flex;flex-direction:column;min-height:420px}.panel-shell.resizable.resizable-width{justify-self:start;max-width:100%}.panel-shell-fill{flex:1 1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:12px 16px 16px}.panel-resize-grip{position:absolute;right:10px;bottom:10px;width:22px;height:22px;padding:0;border-radius:8px;border:1px solid color-mix(in srgb,var(--c4) 45%,var(--line));background:color-mix(in srgb,var(--c4) 14%,var(--elevated));cursor:nwse-resize;z-index:6;touch-action:none}.panel-resize-grip:after,.panel-resize-grip:before{content:"";position:absolute;right:5px;bottom:5px;width:10px;height:10px;border-right:2px solid var(--c4);border-bottom:2px solid var(--c4)}.panel-resize-grip:after{right:9px;bottom:9px;width:6px;height:6px;opacity:.55}.panel-shell.dragging{opacity:.45;transform:scale(.985);border-style:dashed}.panel-shell:hover{border-color:color-mix(in srgb,var(--c4) 45%,var(--line))}.panel-shell-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--muted)}.panel-shell-head:active{cursor:-webkit-grabbing;cursor:grabbing}.panel-shell-head .grip{opacity:.6}.panel-shell-head:hover{color:var(--ink);background:color-mix(in srgb,var(--c4) 7%,transparent)}.panel-shell-head h2{margin:0;flex:1 1;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.panel-shell-body{padding:16px}.panel-shell.chromeless{background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}.panel-shell.chromeless .panel-shell-head{border:1px solid var(--line);border-radius:10px;background:var(--paper);margin-bottom:10px}.panel-shell.chromeless .panel-shell-body{padding:0}.shell-action{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);transition:all .25s}.shell-action:hover{border-color:var(--c3);color:var(--c3);transform:rotate(-8deg) scale(1.08)}.dock{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1.5px dashed var(--line);border-radius:12px;min-height:64px;align-content:start;transition:border-color .25s,background .25s,transform .25s;flex-shrink:0;overflow-x:hidden}.sidebar.dock-hot .dock{border-color:var(--c3);background:color-mix(in srgb,var(--c3) 12%,transparent);transform:scale(1.03)}.dock-hint{margin:0;color:var(--faint);font-size:11.5px;line-height:1.5;text-align:center}.dock-chip{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden;transition:border-color .25s,transform .25s cubic-bezier(.34,1.6,.5,1);animation:pop .35s cubic-bezier(.34,1.4,.5,1) both}.dock-chip:hover{border-color:var(--c4);box-shadow:inset 3px 0 0 var(--c4)}.dock-chip.open{border-color:var(--c1);box-shadow:0 0 0 1px var(--c1)}.dock-chip-main{flex:1 1;display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--ink);padding:9px 10px;font-size:13px;text-align:left}.dock-chip-main svg{color:var(--c2)}.dock-chip-eject{border:0;border-left:1px solid var(--line);background:none;color:var(--muted);padding:9px 8px;transition:color .2s,background .2s}.dock-chip-eject:hover{color:var(--c1);background:color-mix(in srgb,var(--c1) 12%,transparent)}.float-panel{position:fixed;z-index:60;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 110px);display:flex;flex-direction:column;border-radius:16px;border:1px solid color-mix(in srgb,var(--c4) 40%,var(--line));background:var(--surface);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);box-shadow:0 40px 90px -30px rgba(0,0,0,.65);animation:pop .35s cubic-bezier(.34,1.4,.5,1) both}.float-panel-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;color:var(--muted)}.float-panel-head:active{cursor:-webkit-grabbing;cursor:grabbing}.float-panel-head h2{margin:0;flex:1 1;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.float-panel-body{padding:14px;overflow-y:auto}.notes-module{display:grid;grid-gap:18px;gap:18px}.note-composer-inner{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--c5) 35%,var(--line));background:color-mix(in srgb,var(--c5) 6%,transparent)}.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.composer-bar .primary-button{margin-top:0}.note-grid.compact{grid-template-columns:1fr}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade .3s ease both}@keyframes fade{0%{opacity:0}}.modal{position:relative;width:min(480px,100%);padding:28px;border-radius:20px;border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 50px 120px -40px rgba(0,0,0,.7);animation:pop .45s cubic-bezier(.34,1.4,.5,1) both}.modal:before{content:"";position:absolute;inset:-1px;border-radius:21px;padding:1px;background:var(--gradient);background-size:300% 300%;animation:shimmer 8s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.modal-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);transition:all .25s}.modal-close:hover{color:var(--c1);border-color:var(--c1);transform:rotate(90deg)}.modal-eyebrow{margin:0 0 6px;color:var(--muted);font-size:11px;letter-spacing:.28em;text-transform:uppercase}.modal-title{margin:0 0 6px;font-family:var(--font-display),Georgia,serif;font-size:30px;font-weight:560;line-height:1.05}.onboarding-title .ch{display:inline-block;white-space:pre;background:var(--gradient);background-size:400% 400%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 9s linear infinite,rise .6s cubic-bezier(.2,.8,.2,1) both}.modal-subtitle{margin:0 0 18px;color:var(--muted);font-size:14.5px;line-height:1.55}.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.modal-error{margin:0;color:var(--c1);font-size:13.5px}.modal-error,.modal-form .primary-button.wide{grid-column:1/-1}.modal-switch{display:block;margin:16px auto 0;border:0;background:none;color:var(--muted);font-size:13.5px;text-decoration:underline;text-underline-offset:3px;transition:color .25s}.modal-switch:hover{color:var(--c3)}.onboarding-steps{display:flex;gap:8px;margin:14px 0 4px}.onboarding-step{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding:5px 11px;border-radius:999px;border:1px solid var(--line);transition:all .3s}.onboarding-step.active{color:var(--on-accent);background:linear-gradient(120deg,var(--c2),var(--c1));border-color:transparent}.onboarding-step.done{color:var(--c3);border-color:var(--c3)}.onboarding-hint{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.onboarding-actions{margin-top:18px;justify-content:space-between}.content-grid.single{grid-template-columns:minmax(0,1fr)}.studio-canvas{display:grid;grid-gap:14px;gap:14px}.canvas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(150px,auto);grid-auto-flow:dense;grid-gap:14px;gap:14px}.canvas-module{display:flex;flex-direction:column;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s,opacity .2s;animation:pop .4s cubic-bezier(.34,1.4,.5,1) both}.canvas-module:hover{border-color:rgba(122,162,255,.35)}.canvas-module .panel-shell-head{flex-shrink:0}.canvas-module .panel-shell-body.canvas-body{flex:1 1;min-height:0;overflow-y:auto;padding:14px 16px}.canvas-module{position:relative}.canvas-grid.module-dragging .canvas-module:not(.dragging){border-style:dashed;border-color:color-mix(in srgb,var(--c3) 40%,var(--line))}.canvas-module.dragging{opacity:.35;transform:scale(.97);border-style:dashed}.canvas-module.snap-target{border-style:solid;border-color:var(--c3);box-shadow:0 0 0 2px rgba(94,234,212,.45),0 18px 50px -22px var(--c3);transform:scale(1.015)}.canvas-module.stick-target,.panel-shell.stick-target{border-color:var(--c2);box-shadow:0 0 0 2px color-mix(in srgb,var(--c2) 45%,transparent)}.panel-shell.snap-target{border-color:var(--c3);box-shadow:0 0 0 2px rgba(94,234,212,.35)}.module-drop-hint{position:absolute;right:10px;bottom:10px;z-index:5;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--c3) 88%,#000);color:#04110d;font-size:11px;font-weight:600;letter-spacing:.04em;pointer-events:none;animation:pop .25s cubic-bezier(.34,1.4,.5,1) both}.module-drop-hint.sticky{background:color-mix(in srgb,var(--c2) 88%,#000);color:#181006}.stuck-note-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sticky-note{position:relative;min-width:120px;max-width:190px;padding:10px 12px 12px;border-radius:4px 14px 4px 12px;border:1px solid color-mix(in srgb,var(--accent,var(--c3)) 45%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--accent,var(--c3)) 26%,var(--paper)),color-mix(in srgb,var(--accent,var(--c3)) 10%,var(--paper)));box-shadow:0 10px 22px -14px rgba(0,0,0,.65);transform:rotate(-1.2deg);cursor:-webkit-grab;cursor:grab;transition:transform .2s,box-shadow .2s;animation:pop .3s cubic-bezier(.34,1.4,.5,1) both}.sticky-note:nth-child(2n){transform:rotate(1.1deg)}.sticky-note:hover{transform:rotate(0deg) scale(1.03);box-shadow:0 16px 30px -16px rgba(0,0,0,.7)}.sticky-note:active{cursor:-webkit-grabbing;cursor:grabbing}.sticky-note strong{display:block;margin-bottom:3px;font-size:12px}.sticky-note p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}.sticky-note-palette{display:flex;gap:4px;margin-top:8px}.sticky-note-palette i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.sticky-note-unstick{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:18px;height:18px;border:none;border-radius:50%;background:transparent;color:var(--faint);cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background .15s}.sticky-note:hover .sticky-note-unstick{opacity:1}.sticky-note-unstick:hover{background:rgba(0,0,0,.25);color:var(--ink)}.dock .sticky-note{max-width:none}.identity-tile{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--paper);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.identity-tile-head{display:flex;align-items:center;gap:10px;width:100%;padding:14px 18px;border:none;background:none;color:var(--ink);cursor:pointer;text-align:left}.identity-tile-head:hover{background:color-mix(in srgb,var(--c3) 7%,transparent)}.identity-tile-head h2{margin:0;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.identity-tile-sub{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--muted);font-size:12.5px}.identity-tile-logo{width:22px;height:22px;border-radius:6px;object-fit:cover}.identity-tile-chevron{flex-shrink:0;color:var(--muted);transition:transform .25s}.identity-tile.open .identity-tile-chevron{transform:rotate(180deg)}.identity-tile-body{padding:0 18px 18px;animation:pop .3s cubic-bezier(.34,1.4,.5,1) both}.canvas-add-row{display:flex;gap:8px;flex-wrap:wrap;letter-spacing:.1em;text-transform:uppercase}.canvas-add-chip,.canvas-add-row{align-items:center;color:var(--muted);font-size:12px}.canvas-add-chip{display:inline-flex;gap:6px;padding:7px 12px;border:1px dashed var(--line);border-radius:999px;background:none;letter-spacing:normal;text-transform:none;transition:border-color .2s,color .2s,transform .2s}.canvas-add-chip:hover{border-color:var(--c4);color:var(--c4);transform:translateY(-1px)}.task-check-list{display:grid;grid-gap:6px;gap:6px;margin-top:14px}.task-row{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 6px;border-bottom:1px solid var(--line);transition:opacity .25s}.task-row.done{opacity:.5}.task-row.done .task-title{text-decoration:line-through}.task-check{display:flex;align-items:center;gap:9px;flex:1 1;min-width:0;cursor:pointer}.task-check input{position:absolute;opacity:0;pointer-events:none}.task-check-box{flex-shrink:0;width:17px;height:17px;border:1.5px solid var(--muted);border-radius:5px;position:relative;transition:border-color .2s,background .2s,transform .15s}.task-check:hover .task-check-box{border-color:var(--c3);transform:scale(1.08)}.task-check input:checked+.task-check-box{background:linear-gradient(120deg,var(--c3),var(--c4));border-color:transparent}.task-check input:checked+.task-check-box:after{content:"";position:absolute;left:5px;top:1.5px;width:4px;height:8px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.task-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.task-tag{flex-shrink:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.task-tag.art{color:var(--c5);border-color:rgba(192,132,252,.4)}.task-due{flex-shrink:0;font-size:11px;color:var(--c2)}.note-empty.small{padding:24px 8px;font-size:15px}.restock-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:14px;border:1px solid rgba(255,184,107,.45);border-radius:12px;background:linear-gradient(120deg,rgba(255,184,107,.12),rgba(255,94,135,.08));color:var(--c2)}.restock-banner strong{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.restock-banner p{margin:0;font-size:13px;color:var(--ink)}.restock-banner.compact{align-items:center;padding:8px 12px;margin-bottom:10px}.restock-banner.compact strong{margin:0;font-size:11px}.supply-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.supply-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;grid-gap:8px;gap:8px;background:rgba(255,255,255,.03);transition:border-color .25s}.supply-row.low{border-color:rgba(255,184,107,.5)}.supply-row-top{display:flex;align-items:center;gap:8px}.supply-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:6px;color:var(--faint);cursor:-webkit-grab;cursor:grab;touch-action:none}.supply-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.supply-drag-handle:hover{color:var(--muted);background:rgba(255,255,255,.05)}.supply-row-top strong{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supply-cost{font-size:12px;color:var(--muted)}.supply-row-volume{display:flex;align-items:center;gap:10px}.volume-bar{flex:1 1;height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.volume-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--c3),var(--c4));transition:width .3s cubic-bezier(.2,.8,.2,1)}.volume-fill.low{background:linear-gradient(90deg,var(--c1),var(--c2))}.glance-pct{flex-shrink:0;width:38px;text-align:right;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.supply-row-log{display:flex;align-items:center;gap:12px}.supply-row-log input[type=range]{flex:1 1;accent-color:var(--c4);cursor:ew-resize;touch-action:none}.supply-forecast{flex-shrink:0;font-size:11px;color:var(--muted)}.supply-alert{display:inline-flex;align-items:center;gap:5px;color:var(--c2)}.supplies-glance{display:grid;grid-gap:8px;gap:8px;align-content:start}.glance-row{display:flex;align-items:center;gap:10px}.glance-name{flex-shrink:0;width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.glance-ok{margin:0;font-size:12px;color:var(--c3);letter-spacing:.1em;text-transform:uppercase}.side-widget{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.045);overflow:hidden;animation:pop .3s cubic-bezier(.34,1.4,.5,1) both}.side-widget>header{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.side-widget>header span{flex:1 1}.widget-eject{width:22px;height:22px;display:grid;place-items:center;border:none;border-radius:6px;background:none;color:var(--muted);transition:color .2s,background .2s}.widget-eject:hover{color:var(--c3);background:rgba(255,255,255,.06)}.side-widget-body{padding:10px;display:grid;grid-gap:7px;gap:7px;max-height:220px;overflow-y:auto}.widget-empty{margin:0;text-align:center;color:var(--faint);padding:10px 0}.task-check.mini .task-title,.widget-empty{font-size:12px}.task-check.mini .task-check-box{width:14px;height:14px;border-radius:4px}.task-check.mini input:checked+.task-check-box:after{left:4px;top:1px;width:3px;height:6px}.notes-widget .side-widget-body{overflow:hidden}.note-flip-stage{perspective:600px;min-height:96px}.note-flip-card{position:relative;border-radius:10px;border:1px solid var(--line);border-left:3px solid var(--accent,var(--c4));background:var(--paper);padding:9px 10px;transition:transform .11s ease-in;transform-origin:center;-webkit-backface-visibility:hidden;backface-visibility:hidden}.note-flip-card.flipping{transform:rotateX(88deg)}.note-flip-card strong{display:block;font-size:12px;margin-bottom:3px}.note-flip-card p{margin:0;font-size:12px;line-height:1.55;color:var(--muted);max-height:5.8em;overflow:hidden;white-space:pre-wrap;word-break:break-word}.widget-scroll-hint{margin:4px 0 0;text-align:center;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}.tutorial-overlay{position:fixed;inset:0;z-index:70}.tutorial-dim{position:absolute;inset:0;background:rgba(5,4,12,.68);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tutorial-spotlight{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px rgba(5,4,12,.68);border:1.5px solid var(--c3);pointer-events:none;transition:all .35s cubic-bezier(.2,.8,.2,1);animation:spotlight-pulse 2.2s ease-in-out infinite}@keyframes spotlight-pulse{0%,to{border-color:rgba(94,234,212,.9)}50%{border-color:rgba(122,162,255,.9)}}.tutorial-card{position:fixed;width:min(360px,calc(100vw - 32px));background:var(--overlay);border:1px solid color-mix(in srgb,var(--c4) 40%,var(--line));border-radius:16px;padding:16px 18px;box-shadow:0 28px 80px rgba(0,0,0,.55);animation:pop .3s cubic-bezier(.34,1.4,.5,1) both;transition:top .35s cubic-bezier(.2,.8,.2,1),left .35s cubic-bezier(.2,.8,.2,1)}.tutorial-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tutorial-count{font-size:11px;letter-spacing:.2em;color:var(--muted)}.tutorial-card h3{margin:0 0 6px;font-family:var(--font-display),Georgia,serif;font-size:20px;font-weight:560;background:var(--gradient);background-size:300% 300%;animation:shimmer 8s linear infinite;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tutorial-card p{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--muted)}.tutorial-card footer{display:flex;justify-content:space-between;gap:8px}.settings-pop{max-height:min(560px,calc(100vh - 120px));overflow-y:auto}.settings-payfast{display:flex;gap:8px;align-items:center}.settings-payfast input{flex:1 1;min-height:36px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);padding:7px 10px;color:var(--ink);font-size:13px}.settings-payfast input:focus{outline:none;border-color:var(--c4)}.settings-hint{margin:8px 0 0;font-size:11px;line-height:1.55;color:var(--faint)}.artwork-list-shell.panel-shell.resizable .panel-shell-body{overflow:auto;min-height:0;padding-right:12px}.artwork-list-shell.panel-shell.resizable .record-list{min-height:min-content}.artwork-list-shell.panel-shell.resizable .record{min-width:0}.artwork-list-shell.panel-shell.resizable .record h3,.artwork-list-shell.panel-shell.resizable .record p{overflow-wrap:anywhere}.invgen-form{display:grid;grid-gap:0;gap:0}.invgen-section{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}.invgen-section-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:none;background:none;color:var(--ink);cursor:pointer;text-align:left}.invgen-section-head:hover{background:color-mix(in srgb,var(--c4) 7%,transparent)}.invgen-section-title{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.invgen-section-summary{margin-left:auto;font-size:12px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.invgen-section-chevron{flex-shrink:0;color:var(--muted);transition:transform .25s}.invgen-section.open .invgen-section-chevron{transform:rotate(180deg)}.invgen-section-body{padding:0 14px 14px;animation:pop .25s cubic-bezier(.34,1.4,.5,1) both}.invgen-section-body .invgen-selection{margin-top:0}.panel-shell-invoice-generator .invgen-form{padding:0}.invoice-generator-shell.panel-shell.resizable .panel-shell-body{overflow:auto;min-height:0;padding-right:12px}.invoice-generator-shell.panel-shell.resizable .invgen-form{min-height:min-content}.invoice-generator-shell.panel-shell.resizable .invgen-selection{max-height:none;overflow:visible;margin-top:0}.invoice-generator-shell.panel-shell.resizable .selection-row{flex-wrap:wrap;min-width:0}.invoice-generator-shell.panel-shell.resizable .selection-row span{min-width:0;overflow-wrap:anywhere}.invgen-selection{max-height:230px;overflow-y:auto;margin-top:0}.invgen-thumb{width:30px;height:30px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.invgen-hint{color:var(--faint);font-size:12px;margin:0}.invgen-note{margin:14px 0 0;font-size:11px;line-height:1.6;color:var(--faint)}.preview-wrap{overflow-x:auto;display:grid;justify-items:center}.preview-wrap-fit{display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;height:100%}.preview-scale-stage{position:relative;flex-shrink:0}.preview-scale-inner{position:absolute;top:0;left:0;transform-origin:top left}.preview-paper-slot,.preview-paper-slot .invoice-preview{width:210mm;max-width:none}.preview-paper-slot .invoice-preview{min-height:297mm}.invoice-preview-panel{min-height:100%}.invoice-preview-shell .panel-shell-body{padding:14px 16px 18px;overflow:auto}.invoice-preview-shell.panel-shell.resizable .panel-shell-body{overflow:hidden;display:flex;flex-direction:column}.invoice-preview-shell.panel-shell.resizable .invoice-preview-panel{flex:1 1;min-height:0;display:flex;flex-direction:column}.invoice-preview-shell.panel-shell.resizable .preview-wrap{flex:1 1;min-height:0;overflow:hidden}.invoice-preview-shell .preview-wrap{width:100%}.secondary-button.danger:hover{border-color:var(--c1);color:var(--c1)}@media (max-width:1280px){.content-grid.documents-invoice{grid-template-columns:1fr}.content-grid.documents-invoice .panel-shell-invoice-generator,.content-grid.documents-invoice .panel-shell-invoice-preview{grid-column:1/-1}}@media (max-width:1180px){.canvas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.canvas-grid{grid-template-columns:1fr}.canvas-module{grid-column:span 1!important}}.thinkspace{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.ts-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:2px 0 6px}.ts-toolbar-group{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.02);color:var(--muted);font-size:12px}.ts-toolbar-group input[type=date],.ts-toolbar-group select{min-height:28px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg,rgba(255,255,255,.04));color:var(--ink);font-size:12px;padding:4px 8px}.ts-drag-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px dashed rgba(122,162,255,.45);border-radius:999px;background:rgba(122,162,255,.08);color:var(--c4);font-size:11px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ts-drag-chip:active{cursor:-webkit-grabbing;cursor:grabbing}.ts-invoice-tray{flex-wrap:wrap}.ts-canvas{position:relative;flex:1 1;min-height:0;border:1px dashed rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.015);overflow:auto}.ts-canvas-surface{position:relative;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0) 0 0 /22px 22px,transparent}.ts-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;margin:0;padding:24px;color:var(--muted);font-size:14px;line-height:1.7;pointer-events:none}.ts-empty small{color:var(--faint);font-size:12px}.ts-node{position:absolute;border:1px solid var(--line);border-radius:14px;background:var(--elevated);color:var(--ink);box-shadow:0 14px 40px rgba(0,0,0,.28);overflow:hidden;touch-action:none;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column}.ts-node-image{display:grid;grid-template-rows:minmax(0,1fr) auto}.ts-node-date,.ts-node-markdown,.ts-node-pdf,.ts-node-supply,.ts-node-url{min-height:0}.ts-node-markdown .ts-md-editor,.ts-node-markdown .ts-md-view,.ts-node-markdown .ts-supply-chip,.ts-node-pdf .ts-pdf{flex:1 1;min-height:0}.ts-node.drop-hot{border-color:var(--c3);box-shadow:0 0 0 2px rgba(94,234,212,.25),0 14px 40px rgba(0,0,0,.28)}.ts-node.has-status{border-color:rgba(255,184,107,.55)}.ts-node-actions{position:absolute;top:8px;right:8px;z-index:3;display:flex;align-items:center;gap:6px}.ts-status-badge{padding:3px 8px;border-radius:999px;background:rgba(255,184,107,.18);color:var(--c2);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.ts-image{display:block;width:100%;object-fit:cover;border-radius:13px 13px 0 0;pointer-events:none}.ts-label-input{width:100%;border:none;border-top:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink);font-size:12px;padding:8px 10px}.ts-label-input:focus{outline:none;background:rgba(122,162,255,.08)}.ts-resize{position:absolute;right:4px;bottom:4px;width:16px;height:16px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);cursor:nwse-resize;opacity:.7;z-index:4;touch-action:none}.ts-resize:hover{opacity:1;border-color:var(--c4)}.ts-children{display:grid;grid-gap:6px;gap:6px;padding:8px 10px 10px;border-top:1px solid var(--line)}.ts-child{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:7px;gap:7px;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.04);font-size:11px;color:var(--muted)}.ts-child a{color:var(--c4);text-decoration:none}.ts-child a,.ts-child.note span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-md-drag-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--faint);font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:-webkit-grab;cursor:grab;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;background:rgba(255,255,255,.03)}.ts-node-markdown:active .ts-md-drag-bar{cursor:-webkit-grabbing;cursor:grabbing}.ts-md-view{padding:12px 14px;min-height:120px;font-size:13px;line-height:1.6;color:var(--muted);overflow:auto;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text;flex:1 1;min-height:0}.ts-md-view h4,.ts-md-view h5,.ts-md-view h6{margin:0 0 6px;color:var(--ink)}.ts-md-view p{margin:0 0 8px}.ts-md-view code{padding:1px 5px;border-radius:5px;background:rgba(255,255,255,.08);font-size:12px}.ts-md-editor{width:100%;flex:1 1;min-height:140px;border:none;background:rgba(255,255,255,.03);color:var(--ink);font-family:inherit;font-size:13px;line-height:1.55;padding:12px 14px;resize:vertical;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ts-md-editor:focus{outline:none;background:rgba(122,162,255,.06)}.ts-date-card{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;color:var(--c2)}.ts-date-card strong{font-size:15px;color:var(--ink)}.ts-date-card span{font-size:11px;color:var(--faint)}.ts-node-supply-compact{border-radius:999px;overflow:visible}.ts-node-supply-compact .ts-resize{display:none}.ts-node-supply-compact .ts-node-actions{top:-4px;right:-4px}.ts-supply-chip{width:100%;height:100%;border:none;padding:0;background:none;color:inherit;cursor:-webkit-grab;cursor:grab;text-align:left;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ts-node:active .ts-supply-chip{cursor:-webkit-grabbing;cursor:grabbing}.ts-supply-chip.collapsed{display:grid;place-items:center}.ts-supply-chip.expanded{display:block;cursor:pointer}.ts-supply-orb{position:relative;width:76px;height:76px;display:grid;place-items:center}.ts-supply-ring{position:absolute;inset:0;width:100%;height:100%}.ts-supply-ring-track{stroke:var(--line);opacity:.55}.ts-supply-ring-fill{stroke:var(--c3);transition:stroke-dasharray .35s ease}.ts-supply-ring-fill.low{stroke:var(--c1)}.ts-supply-dot{width:42px;height:42px;border-radius:50%;box-shadow:inset 0 -5px 10px rgba(0,0,0,.22),inset 0 3px 6px rgba(255,255,255,.18),0 4px 14px rgba(0,0,0,.28);border:1px solid rgba(0,0,0,.18);position:relative;z-index:1}.ts-supply-dot.light{border-color:rgba(0,0,0,.14);box-shadow:inset 0 -3px 8px rgba(0,0,0,.08),inset 0 2px 5px rgba(255,255,255,.65),0 4px 14px rgba(0,0,0,.16)}.ts-supply-orb-label{position:absolute;bottom:-2px;font-size:9px;letter-spacing:.08em;color:var(--muted);background:var(--elevated);border:1px solid var(--line);border-radius:999px;padding:1px 6px}.ts-supply-panel{padding:12px 14px 10px;display:grid;grid-gap:6px;gap:6px;position:relative}.ts-supply-swatch{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15);box-shadow:inset 0 -2px 4px rgba(0,0,0,.18)}.ts-supply-panel strong{font-size:13px;padding-right:24px}.ts-url{display:grid;grid-gap:6px;gap:6px;padding:10px 12px;color:inherit;text-decoration:none}.ts-url img{width:100%;max-height:90px;object-fit:cover;border-radius:8px}.ts-url strong{font-size:13px;color:var(--ink)}.ts-url p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.ts-url small{color:var(--faint);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-missing{margin:0;padding:14px;color:var(--faint);font-size:12px}.ts-pdf{display:grid;grid-gap:8px;gap:8px;padding:8px}.ts-pdf-stage{position:relative;overflow:hidden;border-radius:10px;background:rgba(255,255,255,.04)}.ts-pdf-stage canvas{display:block;width:100%;height:auto}.ts-pdf-text{position:absolute;inset:0;overflow:hidden;line-height:1;-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:text}.ts-pdf-text span{color:transparent;position:absolute;white-space:pre;transform-origin:0 0}.ts-pdf-text ::selection{background:rgba(122,162,255,.45)}.ts-pdf-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.ts-pdf-hint{margin:0;font-size:10px;color:var(--faint);text-align:center}.moodboard-widget .side-widget-body{max-height:260px;overflow-y:auto;scroll-behavior:smooth}.ts-dock-list{display:grid;grid-gap:8px;gap:8px}.ts-dock-card{display:grid;grid-template-columns:42px 1fr;grid-gap:9px;gap:9px;align-items:center;width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);color:inherit;text-align:left;cursor:pointer;transition:border-color .2s,transform .2s}.ts-dock-card:hover{border-color:var(--c4);transform:translateX(2px)}.ts-dock-card img{object-fit:cover}.ts-dock-card img,.ts-dock-icon{width:42px;height:42px;border-radius:8px}.ts-dock-icon{display:grid;place-items:center;background:rgba(122,162,255,.12);color:var(--c4)}.ts-dock-meta{display:grid;grid-gap:2px;gap:2px;min-width:0}.ts-dock-meta strong{font-size:12px}.ts-dock-meta small,.ts-dock-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-dock-meta small{font-size:10px;color:var(--faint)}.supply-drag-hint{margin:0 0 10px;font-size:11px;color:var(--faint)}.ts-board-picker select{min-width:160px}.artwork-context-menu{position:fixed;z-index:80;width:min(280px,calc(100vw - 24px));border:1px solid var(--line);border-radius:14px;background:var(--overlay);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.45);padding:8px;color:var(--ink)}.artwork-context-menu header{display:flex;align-items:center;gap:8px;padding:8px 10px 10px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.artwork-context-menu header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-item{width:100%;display:flex;align-items:flex-start;gap:10px;padding:10px;border:none;border-radius:10px;background:none;color:var(--ink);text-align:left;transition:background .2s}.ctx-item:hover{background:color-mix(in srgb,var(--c4) 10%,transparent)}.ctx-item span{display:grid;grid-gap:2px;gap:2px;min-width:0}.ctx-item span small{font-size:11px;color:var(--muted)}.ctx-section{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.ctx-section>p{margin:0 0 4px;padding:0 10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.ctx-item.nested{padding-left:14px}.record[title]{cursor:context-menu}.studio-mail{display:grid;grid-gap:12px;gap:12px}.mail-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mail-toolbar-group{display:inline-flex;align-items:center;gap:8px}.mail-unread-pill{letter-spacing:.12em;color:var(--c3);border:1px solid color-mix(in srgb,var(--c3) 35%,var(--line));border-radius:999px;padding:2px 8px}.mail-sync-status,.mail-unread-pill{font-size:10px;text-transform:uppercase}.mail-sync-status{letter-spacing:.08em;color:var(--faint)}.mail-setup{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(255,255,255,.03);display:grid;grid-gap:10px;gap:10px}.mail-setup>header{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.mail-setup-copy{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.mail-setup-actions{display:flex;flex-wrap:wrap;gap:8px}.mail-account-list{display:grid;grid-gap:8px;gap:8px}.mail-account-list-label{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.mail-account-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:4px;background:rgba(255,255,255,.02)}.mail-account-row.active{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05)}.mail-account-select-btn{flex:1 1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border:none;background:none;color:inherit;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer}.mail-account-select-btn:hover{background:rgba(255,255,255,.04)}.mail-account-select-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.mail-account-select-copy small,.mail-account-select-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-account-select-copy strong{font-size:13px}.mail-account-select-copy small{font-size:11px;color:var(--faint)}.mail-account-active-pill{flex-shrink:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px}.mail-account-remove{flex-shrink:0;position:relative;z-index:2}.mail-account-remove-confirm{border:1px solid rgba(255,120,120,.28);border-radius:10px;padding:10px 12px;background:rgba(255,80,80,.06);display:grid;grid-gap:10px;gap:10px}.mail-account-remove-confirm p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.mail-account-remove-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.mail-imap-grid{margin-top:4px}.mail-mailbox-tabs{display:flex;flex-wrap:wrap;gap:6px}.mail-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.02);color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.mail-tab:hover{background:rgba(255,255,255,.05)}.mail-tab.active{color:var(--ink);border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.07)}.mail-tab-count{font-size:10px;font-weight:700;color:var(--c3);border:1px solid color-mix(in srgb,var(--c3) 35%,var(--line));border-radius:999px;padding:0 6px;line-height:1.5}.mail-search{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--line);color:var(--faint)}.mail-search input{flex:1 1;min-width:0;border:none;background:transparent;color:var(--ink);font-size:12px;outline:none;padding:4px 0}.mail-search input::placeholder{color:var(--faint)}.mail-search-clear{border:none;background:none;color:var(--faint);font-size:15px;line-height:1;cursor:pointer;padding:2px 4px}.mail-search-clear:hover{color:var(--ink)}.mail-thread-side{display:grid;justify-items:end;grid-gap:4px;gap:4px}.mail-star{border:none;background:none;color:var(--faint);cursor:pointer;padding:2px;line-height:0;border-radius:6px;transition:color .2s}.mail-star:hover{color:var(--ink)}.mail-star.starred{color:#e8b341}.mail-article-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.mail-article-actions-spacer{flex:1 1}.mail-danger{color:#ff9d9d;border-color:rgba(255,120,120,.35)}.mail-meta-line{margin:8px 0 0;font-size:11px;color:var(--faint);display:grid;grid-gap:2px;gap:2px}.mail-compose-to-row{display:flex;align-items:flex-end;gap:8px}.mail-compose-to{flex:1 1}.mail-ccbcc-toggle{border:none;background:none;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:8px 4px}.mail-ccbcc-toggle:hover{color:var(--ink)}.mail-compose-from{margin-left:auto;color:var(--faint);font-size:11px}.mail-panes{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:12px;gap:12px;min-height:520px}.mail-list-pane,.mail-view-pane{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);overflow:hidden}.mail-folder-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.mail-folder-head small{color:var(--faint)}.mail-account-select,.mail-folder-head small{margin-left:auto;text-transform:none;letter-spacing:0}.mail-account-select{max-width:60%;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);font-size:11px}.mail-thread-list{display:grid;max-height:560px;overflow-y:auto}.mail-thread{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:start;width:100%;border:none;border-bottom:1px solid rgba(255,255,255,.04);background:none;color:inherit;text-align:left;padding:10px 12px;cursor:pointer;transition:background .2s}.mail-thread.active,.mail-thread:hover{background:rgba(255,255,255,.05)}.mail-thread.unread strong{color:var(--ink)}.mail-thread.unread .mail-thread-copy span{font-weight:600}.mail-thread[draggable=true]{cursor:-webkit-grab;cursor:grab}.mail-thread[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.mail-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink);background:linear-gradient(135deg,color-mix(in srgb,var(--c3) 35%,transparent),color-mix(in srgb,var(--c4) 35%,transparent));border:1px solid var(--line);flex-shrink:0}.mail-avatar.large{width:40px;height:40px}.mail-thread-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.mail-thread-copy small,.mail-thread-copy span,.mail-thread-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-thread-copy strong{font-size:12px}.mail-thread-copy span{font-size:12px;color:var(--ink)}.mail-thread-copy small{font-size:11px;color:var(--faint)}.mail-thread time{font-size:10px;color:var(--faint);white-space:nowrap}.mail-view-pane{padding:14px;display:grid;align-content:start}.mail-article-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.mail-article-head h3{margin:0 0 8px;font-size:18px}.mail-contact-chip{display:inline-flex;align-items:center;gap:10px;border:1px dashed color-mix(in srgb,var(--c4) 40%,var(--line));border-radius:999px;padding:4px 12px 4px 4px;background:rgba(255,255,255,.03);color:inherit;cursor:-webkit-grab;cursor:grab}.mail-contact-chip small,.mail-contact-chip strong{display:block;text-align:left}.mail-contact-chip small{color:var(--muted);font-size:11px}.mail-body{font-size:14px;line-height:1.65;color:var(--ink)}.mail-body p{margin:0 0 12px}.mail-compose{display:grid;grid-gap:10px;gap:10px}.mail-compose-actions{display:flex;gap:8px}.mail-drag-hint{margin:0;font-size:11px;color:var(--faint)}.email-widget .side-widget-body{overflow:hidden}.email-flip-stage{perspective:600px;min-height:110px}.email-flip-card{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px;display:grid;grid-gap:4px;gap:4px;text-align:left;color:inherit;transition:transform .11s ease-in;transform-origin:center;-webkit-backface-visibility:hidden;backface-visibility:hidden}.email-flip-card.flipping{transform:rotateX(88deg)}.email-flip-card strong{font-size:12px}.email-flip-subject{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-flip-card time{font-size:10px;color:var(--faint)}.ts-client-card{height:100%;display:grid;align-content:center;justify-items:center;grid-gap:6px;gap:6px;padding:12px;text-align:center}.ts-client-card strong{font-size:14px}.ts-client-card span{font-size:12px;color:var(--muted)}.ts-child.email{border-color:color-mix(in srgb,var(--c4) 35%,var(--line))}.studio-calendar{display:grid;grid-gap:14px;gap:14px;height:100%;min-height:0;overflow:hidden;align-content:start}.studio-calendar.compact{gap:10px;height:auto;overflow:visible}.cal-toolbar,.cal-toolbar h3{display:flex;align-items:center;gap:8px}.cal-toolbar h3{margin:0;flex:1 1;font-size:15px;letter-spacing:.02em}.cal-weekdays{text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.cal-grid,.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-cell{position:relative;aspect-ratio:1;min-height:34px;border:1px solid transparent;border-radius:10px;background:rgba(255,255,255,.03);color:var(--ink);display:grid;place-items:center;transition:border-color .2s,background .2s,transform .15s}.studio-calendar.compact .cal-cell{min-height:28px;border-radius:8px}.cal-cell.empty{background:none;pointer-events:none}.cal-cell:hover:not(.empty){border-color:var(--line);background:rgba(255,255,255,.06)}.cal-cell.today{border-color:color-mix(in srgb,var(--c3) 45%,var(--line))}.cal-cell.selected{border-color:var(--c3);background:color-mix(in srgb,var(--c3) 14%,transparent)}.cal-day{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-dot{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--c4)}.cal-events-panel,.cal-upcoming{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);overflow:hidden}.cal-upcoming-panel{height:100%;min-height:0}.cal-upcoming-panel .cal-upcoming{height:100%;display:flex;flex-direction:column}.cal-upcoming-panel .cal-event-list{flex:1 1;min-height:0;overflow-y:auto}.cal-events-panel>header,.cal-upcoming>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.cal-events-panel>header strong,.cal-upcoming>header strong{font-size:13px}.cal-events-panel>header span,.cal-upcoming>header span{font-size:11px;color:var(--faint)}.cal-event-list{display:grid;grid-gap:8px;gap:8px;padding:10px 12px}.cal-event-row{display:grid;grid-gap:3px;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.cal-event-row.compact{padding:7px 8px}.cal-event-kind{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.cal-event-row strong{font-size:13px}.cal-event-row.compact strong{font-size:12px}.cal-event-sub{font-size:12px;color:var(--muted)}.cal-event-row time{font-size:11px;color:var(--faint)}.cal-event-status{justify-self:start;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--c4)}.cal-event-row[data-kind=task]{border-left:3px solid var(--c3)}.cal-event-row[data-kind=exhibition]{border-left:3px solid var(--c4)}.cal-event-row[data-kind=invoice]{border-left:3px solid var(--c2)}.cal-event-row[data-kind=reminder]{border-left:3px solid #ffb86b}.cal-empty{margin:0;padding:14px 12px;text-align:center;color:var(--faint);font-size:12px}.cal-hint{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);white-space:nowrap}.cal-composer{display:grid;grid-gap:10px;gap:10px;padding:12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--c4) 6%,transparent)}.cal-composer-label{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.cal-kind-row{display:flex;gap:8px;flex-wrap:wrap}.cal-kind-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:12px;transition:border-color .2s,color .2s,background .2s}.cal-kind-chip.active{border-color:var(--c3);color:var(--ink);background:color-mix(in srgb,var(--c3) 12%,transparent)}.cal-composer-actions{display:flex;justify-content:flex-end;gap:8px}.studio-calendar.compact .cal-hint{display:none}.calendar-widget .side-widget-body{overflow:hidden}.calendar-flip-stage{perspective:600px;min-height:108px}.calendar-flip-card{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px;display:grid;grid-gap:4px;gap:4px;text-align:left;color:inherit;transition:transform .11s ease-in;transform-origin:center;-webkit-backface-visibility:hidden;backface-visibility:hidden}.calendar-flip-card.flipping{transform:rotateX(88deg)}.calendar-flip-card[data-kind=task]{border-left:3px solid var(--c3)}.calendar-flip-card[data-kind=exhibition]{border-left:3px solid var(--c4)}.calendar-flip-card[data-kind=invoice]{border-left:3px solid var(--c2)}.calendar-flip-card[data-kind=reminder]{border-left:3px solid #ffb86b}.cal-flip-kind{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.calendar-flip-card strong{font-size:12px}.cal-flip-sub{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-flip-card time{font-size:10px;color:var(--faint)}@media print{body.print-invoice-only *{visibility:hidden}body.print-invoice-only .invoice-preview,body.print-invoice-only .invoice-preview *{visibility:visible}body.print-invoice-only .invoice-preview{position:absolute;left:0;top:0;width:210mm;min-height:297mm;margin:0;border:none;border-radius:0;box-shadow:none}body.print-invoice-only .preview-paper-slot,body.print-invoice-only .preview-scale-inner,body.print-invoice-only .preview-scale-stage,body.print-invoice-only .preview-wrap-fit{display:block;position:static;width:auto;height:auto;overflow:visible;transform:none!important}}.access-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:1}.access-card{width:min(420px,100%);padding:36px 28px;background:color-mix(in srgb,var(--bg) 72%,transparent);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 60px rgba(0,0,0,.5);animation:pop .45s cubic-bezier(.34,1.4,.5,1) both}.access-brand{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--gradient);border-radius:10px;font-family:var(--font-display),Georgia,serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:20px;letter-spacing:.05em}.access-form{display:flex;flex-direction:column;gap:12px;margin-top:14px}