:root{--canvas:#0e1116;--header:#090b0e;--panel:#1a1e24;--panel-raised:#22272e;--line:#303640;--line-soft:#282e36;--text:#f6f7f9;--muted:#a4acb7;--dim:#737c88;--focus:#94bcff;--success:#53d594;--danger:#f07a84;--header-height:86px}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-width:320px;min-height:100dvh;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-rows:var(--header-height) 1fr 28px;min-height:100dvh;display:grid}.app-header{z-index:20;height:var(--header-height);padding:env(safe-area-inset-top) 18px 0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080a0dfa;border-bottom:1px solid #2b3038;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0;box-shadow:0 2px 12px #00000052}.header-logo{object-fit:contain;width:184px;height:78px}.header-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.offline-status{color:#dfb979;align-items:center;gap:6px;font-size:11px;display:inline-flex}.settings-button,.icon-button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:inline-grid}.settings-button:hover,.icon-button:hover{color:var(--text);background:#20252c;border-color:#39414b}.settings-button:disabled{cursor:wait;opacity:.65}.pos-workspace{grid-template-columns:148px minmax(0,1fr);min-height:0;display:grid}.category-rail{background:#15191f;border-right:1px solid #2b3038;flex-direction:column;gap:7px;padding:10px 8px;display:flex;overflow-y:auto}.category-button{--category-color:#343a44;color:#a8b0ba;cursor:pointer;background:#20242a;border:1px solid #292f37;border-radius:7px;align-content:center;place-items:center;gap:8px;min-height:112px;padding:12px 8px;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:grid;position:relative}.category-button:hover{color:#f2f4f7;background:#272c33;border-color:#3c444e}.category-button[aria-pressed=true]{color:#fff;border-color:color-mix(in srgb, var(--category-color) 78%, white);background:linear-gradient(145deg, color-mix(in srgb, var(--category-color) 87%, white), var(--category-color));box-shadow:inset 0 1px #fff3, 0 7px 20px color-mix(in srgb, var(--category-color) 34%, transparent)}.category-button:active{transform:translateY(1px)}.category-button span{font-size:11px;font-weight:700;line-height:1.1}.category-button small{color:currentColor;opacity:.62;font-size:8px;font-weight:750;position:absolute;bottom:7px;right:8px}.menu-panel{--active-color:#7050cd;background:radial-gradient(circle at 15% 2%, color-mix(in srgb, var(--active-color) 12%, transparent), transparent 30%), #101318;min-width:0;padding:11px 13px 24px;transition:background-color .18s}.menu-toolbar{background:#242931;border:1px solid #323944;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;min-height:55px;margin-bottom:9px;padding:6px 12px;display:flex;box-shadow:inset 0 1px #ffffff0a}.menu-toolbar>span{color:#8e97a3;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:680}.current-category{align-items:center;gap:10px;display:flex}.current-category p{color:#77818e;letter-spacing:.14em;text-transform:uppercase;margin:0 0 2px;font-size:8px;font-weight:760}.current-category h1{letter-spacing:-.015em;margin:0;font-size:16px;font-weight:670;line-height:1}.current-icon{border:1px solid color-mix(in srgb, var(--active-color) 60%, #48515d);background:color-mix(in srgb, var(--active-color) 20%, #242931);width:34px;height:34px;color:color-mix(in srgb, var(--active-color) 55%, white);border-radius:5px;place-items:center;display:grid}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));align-content:start;gap:7px;width:100%;max-width:1240px;display:grid;position:relative}.launcher-tile{color:#fff;border:1px solid;border-radius:6px;min-width:0;height:114px;padding:14px 13px;text-decoration:none;transition:filter .11s,transform .11s,box-shadow .11s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff3,inset 0 -1px #0003,0 2px 4px #0000004d}.launcher-tile:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#0000 43%);position:absolute;inset:0}.tile-label{z-index:1;-webkit-line-clamp:3;letter-spacing:-.014em;text-wrap:balance;text-shadow:0 1px 1px #0000004d;-webkit-box-orient:vertical;max-width:90%;font-size:14px;font-weight:690;line-height:1.16;display:-webkit-box;position:relative;overflow:hidden}.tile-index{color:#ffffff21;letter-spacing:-.08em;font-size:54px;font-weight:760;line-height:1;position:absolute;bottom:-10px;right:10px}.tile-external{z-index:1;opacity:0;transition:opacity .1s,transform .1s;position:absolute;top:10px;right:10px;transform:translate(-2px,2px)}.launcher-tile:hover{z-index:1;filter:brightness(1.1)saturate(1.04);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff3d,0 7px 16px #0000004d}.launcher-tile:active{filter:brightness(.94);transform:translateY(1px)}.launcher-tile:hover .tile-external,.launcher-tile:focus-visible .tile-external{opacity:.78;transform:none}.shell-footer{color:#66707c;letter-spacing:.1em;text-transform:uppercase;background:#0c0f13;border-top:1px solid #222831;justify-content:space-between;align-items:center;padding:0 16px;font-size:9px;font-weight:650;display:flex}.shell-footer span{align-items:center;gap:6px;display:inline-flex}.live-dot{background:var(--success);border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #53d594a6}dialog{color:var(--text)}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030507c2}.auth-dialog{background:var(--panel);border:1px solid #3a424d;border-radius:10px;width:min(410px,100vw - 28px);margin:auto;padding:0;overflow:hidden;box-shadow:0 26px 80px #000000a3,inset 0 1px #ffffff0a}.auth-close{z-index:2;background:#191d23c2;position:absolute;top:10px;right:10px}.password-brand{background:#0b0e12;border-bottom:1px solid #2e343d;place-items:center;height:114px;padding:10px 34px;display:grid}.password-brand img{object-fit:contain;width:178px;height:92px}.auth-copy{align-items:center;gap:12px;padding:20px 22px 14px;display:flex}.auth-copy h2{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:640}.eyebrow{color:var(--dim);letter-spacing:.15em;text-transform:uppercase;margin:0 0 4px;font-size:9px;font-weight:740}.auth-icon{color:#c4a8ff;background:#29233a;border:1px solid #554387;border-radius:6px;place-items:center;width:38px;height:38px;display:grid}.auth-dialog form{gap:14px;padding:0 22px 18px;display:grid}.auth-dialog label,.editor-card label{color:var(--muted);gap:6px;font-size:11px;font-weight:650;display:grid}.auth-dialog input,.editor-card input,.editor-card select{width:100%;height:40px;color:var(--text);background:#12151a;border:1px solid #3b424c;border-radius:5px;padding:0 10px;font-size:13px}.primary-button,.small-primary,.secondary-button{color:#fff;cursor:pointer;background:#684ac7;border:1px solid #795ce0;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:39px;padding:0 13px;font-size:12px;font-weight:690;display:inline-flex}.primary-button:hover,.small-primary:hover{background:#7657d6}.primary-button:disabled{opacity:.62;cursor:default}.secondary-button{background:#252a31;border-color:#3d454f}.form-note{margin:-3px 0 0;font-size:11px;line-height:1.45}.form-note.success{color:#75dba8}.form-note.error{color:#ff9ca4}.auth-footnote{border-top:1px solid var(--line-soft);color:var(--dim);margin:0;padding:13px 22px 17px;font-size:10px;line-height:1.45}.drawer{background:var(--panel);border:0;border-left:1px solid #3a414b;width:min(500px,100vw);max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow:hidden;box-shadow:-22px 0 60px #0000007a}.drawer-shell{grid-template-rows:auto auto auto auto 1fr auto;height:100%;display:grid}.drawer-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:16px 16px 13px 18px;display:flex}.drawer-header h2{letter-spacing:-.025em;margin:0;font-size:19px;font-weight:620}.preview-banner{color:#a9c9a6;background:#20271f;border-bottom:1px solid #334032;align-items:center;gap:8px;min-height:32px;padding:0 18px;font-size:10px;display:flex}.status-dot{background:#79c57b;border-radius:50%;width:6px;height:6px}.tabs{border-bottom:1px solid var(--line-soft);gap:4px;padding:10px 14px;display:flex}.tabs button{min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 12px;font-size:11px;font-weight:680}.tabs button[aria-selected=true]{color:var(--text);background:#2a3038;border-color:#3c444f}.feedback{border:1px solid;border-radius:5px;margin:10px 14px 0;padding:9px 11px;font-size:11px}.feedback.error{color:#ffacb3;background:#351f24;border-color:#6e3840}.drawer-content{min-height:0;padding:12px 14px 90px;overflow:auto}.section-toolbar{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;font-weight:690;display:flex}.small-primary{text-transform:none;letter-spacing:0;min-height:30px;padding:0 10px;font-size:11px}.editor-card{background:#242a31;border:1px solid #424a55;border-radius:6px;gap:11px;margin:0 0 12px;padding:14px;display:grid;box-shadow:0 8px 28px #0003}.editor-title{justify-content:space-between;align-items:center;font-size:12px;display:flex}.icon-button.compact{width:27px;height:27px}.form-grid{grid-template-columns:1fr 105px;gap:9px;display:grid}.check-row{align-items:center;grid-template-columns:16px 1fr!important;gap:8px!important}.check-row input{accent-color:#7c5bd4;width:14px;height:14px}.color-control{background:#14171b;border:1px solid #3b424c;border-radius:5px;align-items:center;gap:10px;height:38px;padding:0 9px;display:flex}.color-control input{background:0 0;border:0;width:26px;height:26px;padding:0}.color-control code{color:var(--muted);font-size:11px}.settings-list{gap:5px;display:grid}.settings-row{background:#20252b;border:1px solid #303741;border-radius:5px;grid-template-columns:18px 9px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:55px;padding:7px 7px 7px 5px;display:grid}.settings-row:hover{background:#242a31;border-color:#414a56}.drag-handle{color:#59636f;cursor:grab}.category-dot{border-radius:50%;width:7px;height:7px}.category-swatch{border-radius:2px;width:9px;height:30px}.row-copy{gap:3px;min-width:0;display:grid}.row-copy strong{color:#eef0f2;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.row-copy span{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.row-copy em{color:#e5b66c;font-style:normal}.state-pill{color:#8f98a3;text-transform:uppercase;letter-spacing:.04em;border:1px solid #444b53;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:700}.state-pill.active{color:#78d4a1;background:#1f3429;border-color:#32624b}.row-actions{gap:2px;display:flex}.row-actions button{color:#8f98a3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;width:25px;height:25px;padding:0;display:grid}.row-actions button:hover{color:var(--text);background:#303741;border-color:#464f5a}.row-actions button:disabled{opacity:.25;cursor:default}.drawer-footer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:48px;color:var(--dim);background:#1b1f25f7;border-top:1px solid #303741;justify-content:space-between;align-items:center;padding:0 16px;font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.drawer-footer span{align-items:center;gap:5px;display:inline-flex}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:10px;display:inline-flex}.text-button:hover{color:var(--text)}.toast{z-index:30;color:#a7e7c2;background:#223229;border:1px solid #3b5144;border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:0 10px;font-size:10px;display:flex;position:fixed;bottom:60px;right:16px;box-shadow:0 12px 36px #0000005c}.toast button{color:#fff;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-weight:700;display:inline-flex}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){:root{--header-height:76px}.header-logo{width:158px;height:68px}.pos-workspace{grid-template-columns:116px minmax(0,1fr)}.category-button{min-height:96px}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}}@media (max-width:640px){:root{--header-height:72px}.app-header{padding-inline:10px}.header-balance{width:40px}.header-logo{width:142px;height:64px}.offline-status{display:none}.pos-workspace{display:block}.category-rail{top:var(--header-height);z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#15191ff7;border-bottom:1px solid #2b3038;border-right:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:7px 8px;display:grid;position:sticky;overflow:visible}.category-button{gap:4px;min-height:66px;padding:7px 4px}.category-button svg{width:19px;height:19px}.category-button span{font-size:9px}.category-button small{font-size:7px;bottom:4px;right:5px}.menu-panel{padding:8px 8px 18px}.menu-toolbar{min-height:48px;margin-bottom:7px;padding:5px 9px}.current-icon{width:30px;height:30px}.current-category h1{font-size:14px}.menu-toolbar>span{font-size:8px}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-width:none}.launcher-tile{height:105px;padding:12px 11px}.tile-label{font-size:12px}.tile-index{font-size:46px}.shell-footer{padding-inline:10px;font-size:8px}.drawer{border-left:0;width:100vw}.settings-row{grid-template-columns:16px 8px minmax(0,1fr) auto}.settings-row .state-pill,.row-actions button:nth-child(-n+2){display:none}.password-brand{height:102px}.password-brand img{width:155px;height:82px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
