/* ═══════════════════════════════════════════════════
   MellowOS v2  ·  Complete Stylesheet
   ═══════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
*:focus{outline:none!important}
*:focus-visible{outline:none!important}
html,body{height:100%;width:100%;overflow:hidden;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:14px;color:#e2e8f0;-webkit-font-smoothing:antialiased;user-select:none}
.hidden{display:none!important}

:root{
  --bg:#0a0a14;--surface:rgba(255,255,255,.05);--glass:rgba(20,20,40,.72);
  --glass-border:rgba(255,255,255,.08);--accent:#8b5cf6;--accent-light:#a78bfa;
  --accent-glow:rgba(139,92,246,.25);--text:#e2e8f0;--text-muted:#94a3b8;
  --danger:#ff5f57;--warn:#febc2e;--success:#28c840;--radius:12px;--radius-sm:8px;
  --shadow:0 8px 40px rgba(0,0,0,.45),0 0 0 1px var(--glass-border);
  --taskbar-h:62px;--titlebar-h:38px;--font:'Inter',system-ui,sans-serif;
}

/* ══════ Login Screen ══════ */
#login-screen{
  position:fixed;inset:0;z-index:99999;background:#07070f;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.login-bg-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:orbFloat 12s ease-in-out infinite}
.orb-1{width:400px;height:400px;background:radial-gradient(circle,#8b5cf6,transparent 70%);top:-10%;left:-5%;animation-delay:0s}
.orb-2{width:350px;height:350px;background:radial-gradient(circle,#6366f1,transparent 70%);bottom:-10%;right:-5%;animation-delay:-4s}
.orb-3{width:280px;height:280px;background:radial-gradient(circle,#a78bfa,transparent 70%);top:40%;right:20%;animation-delay:-8s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,30px) scale(.95)}75%{transform:translate(20px,20px) scale(1.02)}}

.login-card{
  position:relative;width:380px;max-width:90vw;
  background:rgba(15,15,28,.85);backdrop-filter:blur(24px) saturate(1.3);
  border:1px solid rgba(139,92,246,.15);border-radius:20px;
  padding:36px 32px 28px;box-shadow:0 12px 48px rgba(0,0,0,.5),0 0 60px rgba(139,92,246,.08);
}
.login-logo{text-align:center;margin-bottom:28px}
.login-logo-icon{width:48px;height:48px;margin-bottom:8px;object-fit:contain}
.login-logo-name{font-size:26px;font-weight:800;background:linear-gradient(135deg,#e9d5ff,#c4b5fd,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}
.login-logo-sub{font-size:13px;color:var(--text-muted);margin-top:6px}

.login-field{margin-bottom:16px}
.login-field label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.8px}
.login-field input{
  width:100%;padding:11px 14px;border-radius:10px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);
  color:var(--text);font-size:14px;font-family:var(--font);outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.login-field input::placeholder{color:rgba(148,163,184,.5)}

.login-error{font-size:13px;color:#f87171;min-height:20px;margin-bottom:4px}

.login-btn{
  width:100%;padding:12px;border-radius:10px;border:none;
  background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;
  font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;
  transition:opacity .15s,transform .1s;position:relative;overflow:hidden;
}
.login-btn:hover{opacity:.9}.login-btn:active{transform:scale(.98)}
.login-btn.loading .login-btn-text{opacity:0}
.login-btn.loading .login-btn-spinner{opacity:1}
.login-btn-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.login-btn-spinner::after{content:'';width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}

.login-footer{text-align:center;margin-top:20px;font-size:12px;color:var(--text-muted)}
.login-footer a{color:var(--accent-light);text-decoration:none}
.login-footer a:hover{text-decoration:underline}

.login-version{position:absolute;bottom:20px;font-size:11px;color:rgba(255,255,255,.15)}

/* ══════ Boot Screen ══════ */
#boot-screen{
  position:fixed;inset:0;z-index:99998;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  transition:opacity .6s,visibility .6s;
}
#boot-screen.fade-out{opacity:0;visibility:hidden}
.boot-logo{text-align:center}
.boot-icon{width:56px;height:56px;margin-bottom:8px;object-fit:contain;animation:bootPulse 2s ease-in-out infinite}
.boot-name{font-size:24px;font-weight:700;letter-spacing:1px}
.boot-greeting{font-size:14px;color:var(--text-muted);margin-top:8px}
.boot-bar-track{width:180px;height:3px;background:var(--surface);border-radius:2px;overflow:hidden}
.boot-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:2px;animation:bootLoad 1.8s ease-in-out forwards}
@keyframes bootPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes bootLoad{0%{width:0}60%{width:70%}100%{width:100%}}

/* ══════ Desktop ══════ */
#desktop{
  position:fixed;inset:0;
  background:radial-gradient(ellipse at 20% 50%, rgba(139,92,246,.1), transparent 55%),radial-gradient(ellipse at 80% 20%, rgba(168,85,247,.07), transparent 50%),radial-gradient(ellipse at 50% 80%, rgba(99,102,241,.05), transparent 50%),linear-gradient(160deg,#0a0a14,#0f0f1e,#0a0a14);
  display:flex;flex-direction:column;
}

/* Desktop Icons */
#desktop-icons{flex:1;padding:24px;display:grid;grid-template-columns:repeat(auto-fill,90px);grid-auto-rows:100px;gap:8px;align-content:start}
.desktop-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}
.desktop-icon:hover{background:rgba(255,255,255,.07)}.desktop-icon:active{background:rgba(255,255,255,.12)}.desktop-icon.selected{background:rgba(139,92,246,.18);box-shadow:0 0 0 1px rgba(139,92,246,.3)}
.desktop-icon .icon-glyph{width:36px;height:36px;line-height:1;display:flex;align-items:center;justify-content:center}
.desktop-icon .icon-glyph img{width:100%;height:100%;object-fit:contain}
.desktop-icon .icon-label{font-size:11px;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.8);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ══════ Context Menu ══════ */
#context-menu{
  position:fixed;z-index:90000;min-width:200px;
  background:var(--glass);backdrop-filter:blur(20px) saturate(1.4);
  border:1px solid var(--glass-border);border-radius:var(--radius-sm);
  box-shadow:0 8px 32px rgba(0,0,0,.5);padding:4px 0;font-size:13px;
}
.ctx-item{padding:8px 14px;cursor:pointer;transition:background .12s}
.ctx-item:hover{background:var(--accent);color:#fff}
.ctx-divider{height:1px;margin:4px 8px;background:var(--glass-border)}

/* ══════ Taskbar / Dock ══════ */
#taskbar{height:var(--taskbar-h);display:flex;align-items:center;justify-content:center;padding:0 16px;position:relative;z-index:80000}
#dock{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--glass);backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 4px 24px rgba(0,0,0,.35)}

.dock-item{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;transition:transform .18s ease,background .15s}
.dock-item:hover{transform:scale(1.18) translateY(-4px);background:rgba(255,255,255,.08)}
.dock-item:active{transform:scale(1.1) translateY(-2px)}
.dock-icon{width:26px;height:26px;line-height:1;pointer-events:none;display:flex;align-items:center;justify-content:center}
.dock-icon img{width:100%;height:100%;object-fit:contain}
.dock-indicator{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent-light);opacity:0;transition:opacity .2s}
.dock-item.running .dock-indicator{opacity:1}
.dock-item.minimized .dock-indicator{opacity:.35;background:rgba(255,255,255,.4)}
.dock-tooltip{position:absolute;top:-32px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;font-size:11px;font-weight:500;padding:3px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}
.dock-item:hover .dock-tooltip{opacity:1}

#system-tray{position:absolute;right:18px;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted)}
.tray-chip{padding:3px 10px;background:rgba(255,255,255,.06);border-radius:6px;font-size:11px;cursor:pointer}
.tray-chip:hover{background:rgba(255,255,255,.1)}

/* ══════ Window Chrome ══════ */
.os-window{position:absolute;display:flex;flex-direction:column;border-radius:var(--radius);background:rgba(14,14,26,.92);backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-border);box-shadow:var(--shadow);overflow:hidden;min-width:320px;min-height:200px;animation:winOpen .22s ease-out}
.os-window.focused{box-shadow:0 12px 48px rgba(0,0,0,.55),0 0 0 1px rgba(139,92,246,.2)}
.os-window.minimized{transform:scale(.7) translateY(80px);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s}
.os-window.maximized{border-radius:0!important}

.window-titlebar{height:var(--titlebar-h);display:flex;align-items:center;padding:0 12px;background:rgba(20,20,38,.95);border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0;cursor:default}
.window-traffic{display:flex;gap:7px;margin-right:12px}
.window-traffic .tl{width:13px;height:13px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:8px;color:transparent;transition:color .12s}
.tl.close{background:var(--danger)}.tl.minimize{background:var(--warn)}.tl.maximize{background:var(--success)}
.os-window:hover .tl.close,.os-window:hover .tl.minimize,.os-window:hover .tl.maximize{color:rgba(0,0,0,.6)}
.window-title{display:flex;align-items:center;gap:7px;flex:1;overflow:hidden}
.window-title-icon{width:15px;height:15px;display:flex;align-items:center;justify-content:center}
.window-title-icon img{width:100%;height:100%;object-fit:contain}
.window-title-text{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}
.window-body{flex:1;overflow:auto;position:relative}

/* Resize handles */
.os-window .rh{position:absolute}
.rh.n{top:-3px;left:10px;right:10px;height:6px;cursor:n-resize}
.rh.s{bottom:-3px;left:10px;right:10px;height:6px;cursor:s-resize}
.rh.e{right:-3px;top:10px;bottom:10px;width:6px;cursor:e-resize}
.rh.w{left:-3px;top:10px;bottom:10px;width:6px;cursor:w-resize}
.rh.nw{top:-4px;left:-4px;width:14px;height:14px;cursor:nw-resize}
.rh.ne{top:-4px;right:-4px;width:14px;height:14px;cursor:ne-resize}
.rh.sw{bottom:-4px;left:-4px;width:14px;height:14px;cursor:sw-resize}
.rh.se{bottom:-4px;right:-4px;width:14px;height:14px;cursor:se-resize}

.os-window.closing{animation:winClose .18s ease-in forwards}
@keyframes winOpen{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes winClose{to{opacity:0;transform:scale(.92)}}

/* ══════ AI Browser ══════ */
.browser-app{display:flex;flex-direction:column;height:100%;background:#0c0c18}
.browser-tabs-row{display:flex;align-items:center;gap:8px;padding:8px 12px 6px;background:rgba(18,18,34,.95);border-bottom:1px solid var(--glass-border);flex-shrink:0}
.browser-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;flex:1}
.browser-tab{min-width:120px;max-width:220px;height:30px;border:1px solid var(--glass-border);background:rgba(255,255,255,.03);color:var(--text-muted);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;cursor:pointer;transition:background .12s,border-color .12s}
.browser-tab:hover{background:rgba(255,255,255,.07)}
.browser-tab.active{background:rgba(139,92,246,.16);border-color:rgba(139,92,246,.45);color:var(--text)}
.browser-tab-title{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.browser-tab-close{font-size:14px;opacity:.8;line-height:1;flex-shrink:0}
.browser-tab-close:hover{opacity:1}
.browser-tab-add{width:30px;height:30px;border-radius:8px;border:1px solid var(--glass-border);background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}
.browser-tab-add:hover{background:var(--surface);color:var(--text)}
.browser-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(18,18,34,.95);border-bottom:1px solid var(--glass-border);flex-shrink:0}
.browser-nav-btn{width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}
.browser-nav-btn:hover{background:var(--surface);color:var(--text)}.browser-nav-btn:disabled{opacity:.3;pointer-events:none}
.browser-url-wrap{flex:1;display:flex;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:0 12px;transition:border-color .2s}
.browser-url-wrap:focus-within{border-color:var(--accent)}
.browser-url-icon{color:var(--text-muted);font-size:13px;margin-right:8px}
.browser-url-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;padding:7px 0;font-family:var(--font)}
.browser-url-input::placeholder{color:var(--text-muted)}
.browser-engine-select{height:30px;border-radius:8px;border:1px solid var(--glass-border);background:rgba(255,255,255,.05);color:var(--text);font-size:12px;padding:0 8px;outline:none}
.browser-go-btn{width:30px;height:30px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}
.browser-go-btn:hover{background:var(--accent-light)}
.browser-content{flex:1;overflow-y:auto}
.browser-home{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:18px;color:var(--text-muted);padding:32px}
.browser-home-title{font-size:28px;font-weight:700;color:var(--text)}.browser-home-sub{font-size:14px;opacity:.6;text-align:center}
.browser-quick-links{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;justify-content:center}
.browser-quick-link{padding:8px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--glass-border);color:var(--text);font-size:13px;cursor:pointer;transition:background .12s,border-color .12s;text-decoration:none}
.browser-quick-link:hover{background:rgba(255,255,255,.1);border-color:var(--accent)}
.browser-result{max-width:820px;margin:0 auto;padding:28px 32px}
.browser-source{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.browser-source-img{width:20px;height:20px;border-radius:4px;background:var(--surface)}
.browser-source-domain{font-size:12px;color:var(--accent-light)}
.browser-source-url{font-size:11px;color:var(--text-muted);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.browser-result h1{font-size:24px;font-weight:700;margin-bottom:8px;line-height:1.3}
.browser-result-desc{font-size:14px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}
.browser-result-body{font-size:15px;line-height:1.75;color:#cbd5e1}
.browser-result-body p{margin-bottom:14px}
.browser-result-body h1,.browser-result-body h2{font-size:20px;font-weight:600;margin:24px 0 10px;color:var(--text)}
.browser-result-body h3{font-size:17px;font-weight:600;margin:20px 0 8px;color:var(--text)}
.browser-result-body a{color:var(--accent-light);text-decoration:underline;text-underline-offset:2px}
.browser-result-body a:hover{color:#a5b4fc}
.browser-result-body ul,.browser-result-body ol{padding-left:24px;margin-bottom:14px}
.browser-result-body li{margin-bottom:4px}
.browser-result-body img{max-width:100%;height:auto;border-radius:8px;margin:12px 0}
.browser-result-body blockquote{border-left:3px solid var(--accent);padding:8px 16px;margin:12px 0;color:var(--text-muted);font-style:italic}
.browser-result-body pre{background:rgba(0,0,0,.3);padding:14px;border-radius:8px;overflow-x:auto;font-family:'SF Mono','Fira Code',monospace;font-size:13px;margin:12px 0}
.browser-result-body code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:4px;font-size:13px;font-family:'SF Mono',monospace}
.browser-result-body table{width:100%;border-collapse:collapse;margin:12px 0}
.browser-result-body th,.browser-result-body td{padding:8px 12px;border:1px solid var(--glass-border);text-align:left}
.browser-result-body th{background:var(--surface);font-weight:600}
.browser-search-results{padding:24px 28px;max-width:720px;margin:0 auto}
.browser-search-header{font-size:13px;color:var(--text-muted);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--glass-border)}
.browser-search-card{padding:14px 16px;margin-bottom:10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid rgba(255,255,255,.04);cursor:pointer;transition:background .12s,border-color .15s}
.browser-search-card:hover{background:rgba(255,255,255,.08);border-color:var(--accent)}
.browser-search-card-title{font-size:15px;font-weight:600;color:var(--accent-light);margin-bottom:4px}
.browser-search-card-url{font-size:11px;color:var(--text-muted);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.browser-search-card-snippet{font-size:13px;color:#94a3b8;line-height:1.5}
.browser-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}
.browser-spinner{width:32px;height:32px;border:3px solid var(--surface);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.browser-loading-text{font-size:13px;color:var(--text-muted)}
.browser-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted);padding:32px;text-align:center}
.browser-error-icon{font-size:36px}.browser-error-msg{font-size:14px;max-width:400px}

/* ══════ Docs App ══════ */
.docs-app{display:flex;flex-direction:column;height:100%;background:#0c0c18}
.docs-toolbar{display:flex;align-items:center;gap:4px;padding:6px 10px;background:rgba(18,18,34,.95);border-bottom:1px solid var(--glass-border);flex-shrink:0;flex-wrap:wrap}
.docs-btn{width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;font-weight:600}
.docs-btn:hover{background:var(--surface);color:var(--text)}.docs-btn.active{background:rgba(139,92,246,.15);color:var(--accent-light)}
.docs-sep{width:1px;height:22px;background:var(--glass-border);margin:0 4px}
.docs-title-input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;font-weight:500;padding:4px 8px;border-radius:6px;font-family:var(--font);margin-left:auto;max-width:200px;text-align:right;border:1px solid transparent;transition:border-color .2s}
.docs-title-input:focus{border-color:var(--glass-border)}
.docs-status{font-size:11px;color:var(--text-muted);padding:0 8px}
.docs-editor{flex:1;padding:32px 48px;overflow-y:auto;outline:none;font-size:15px;line-height:1.75;color:var(--text);min-height:100px}
.docs-editor:empty::before{content:attr(data-placeholder);color:rgba(148,163,184,.4)}
.docs-editor h1{font-size:28px;font-weight:700;margin-bottom:8px}
.docs-editor h2{font-size:22px;font-weight:600;margin-bottom:6px}
.docs-editor h3{font-size:18px;font-weight:600;margin-bottom:4px}
.docs-editor ul,.docs-editor ol{padding-left:24px;margin:8px 0}
.docs-editor blockquote{border-left:3px solid var(--accent);padding:4px 16px;margin:8px 0;color:var(--text-muted)}
.docs-editor a{color:var(--accent-light)}
.docs-editor img{max-width:100%;border-radius:8px}

/* ══════ Sheets App ══════ */
.sheets-app{display:flex;flex-direction:column;height:100%;background:#0c0c18}
.sheets-toolbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:rgba(18,18,34,.95);border-bottom:1px solid var(--glass-border);flex-shrink:0}
.sheets-formula-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(15,15,28,.9);border-bottom:1px solid var(--glass-border);flex-shrink:0}
.sheets-cell-ref{font-size:12px;font-weight:600;color:var(--accent-light);min-width:40px;text-align:center}
.sheets-formula-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;font-family:'SF Mono',monospace;padding:4px}
.sheets-formula-input::placeholder{color:rgba(148,163,184,.4)}
.sheets-grid-wrap{flex:1;overflow:auto;position:relative}
.sheets-grid{border-collapse:collapse;table-layout:fixed}
.sheets-grid th{position:sticky;background:rgba(18,18,34,.95);font-size:11px;font-weight:600;color:var(--text-muted);padding:4px 2px;border:1px solid var(--glass-border);min-width:80px;text-align:center;z-index:2}
.sheets-grid th.corner{z-index:3;top:0;left:0;min-width:40px}
.sheets-grid th.col-h{top:0}.sheets-grid th.row-h{left:0;position:sticky;min-width:40px;width:40px}
.sheets-grid td{padding:0;border:1px solid rgba(255,255,255,.04);height:28px;min-width:80px}
.sheets-grid td.selected{outline:2px solid var(--accent);outline-offset:-1px;z-index:1;position:relative}
.sheets-cell{width:100%;height:100%;border:none;background:transparent;color:var(--text);font-size:13px;padding:2px 6px;outline:none;font-family:var(--font)}
.sheets-cell:focus{background:rgba(139,92,246,.05)}
.sheets-title-input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;font-weight:500;padding:4px 8px;border-radius:6px;font-family:var(--font);min-width:120px;border:1px solid transparent;transition:border-color .2s}
.sheets-title-input:focus{border-color:var(--glass-border)}

/* ══════ File Manager ══════ */
.files-app{display:flex;flex-direction:column;height:100%;background:#0c0c18}
.files-toolbar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(18,18,34,.95);border-bottom:1px solid var(--glass-border);flex-shrink:0}
.files-btn{padding:6px 12px;border-radius:8px;border:1px solid var(--glass-border);background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .12s;font-family:var(--font);display:flex;align-items:center;gap:5px}
.files-btn:hover{background:var(--surface);color:var(--text)}
.files-path{font-size:12px;color:var(--text-muted);margin-left:8px;flex:1}
.files-grid{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;align-content:start}
.files-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:10px;font-size:14px}
.file-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s;border:1px solid transparent}
.file-card:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.06)}
.file-card.selected{background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2)}
.file-card-icon{font-size:10px;font-weight:700;letter-spacing:.4px;padding:6px 10px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(255,255,255,.04)}
.file-card-name{font-size:12px;text-align:center;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-card-meta{font-size:10px;color:var(--text-muted)}
.file-ctx{position:fixed;z-index:95000;min-width:160px;background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-sm);box-shadow:0 6px 24px rgba(0,0,0,.5);padding:4px 0;font-size:12px}
.file-ctx-item{padding:7px 12px;cursor:pointer;transition:background .12s}.file-ctx-item:hover{background:var(--accent);color:#fff}

/* ══════ Notepad ══════ */
.notepad-app{display:flex;flex-direction:column;height:100%;background:#0c0c18}
.notepad-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(18,18,34,.95);border-bottom:1px solid var(--glass-border);flex-shrink:0}
.notepad-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--glass-border);background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .12s;font-family:var(--font)}
.notepad-btn:hover{background:var(--surface);color:var(--text)}
.notepad-status{margin-left:auto;font-size:11px;color:var(--text-muted)}
.notepad-editor{flex:1;width:100%;border:none;outline:none;background:transparent;color:var(--text);padding:16px 20px;resize:none;font-family:'SF Mono','Fira Code',monospace;font-size:14px;line-height:1.7;tab-size:4}

/* ══════ Calculator ══════ */
.calc-app{display:flex;flex-direction:column;height:100%;background:#0c0c18;padding:16px}
.calc-display{background:rgba(0,0,0,.3);border-radius:var(--radius-sm);padding:16px 20px;margin-bottom:12px;text-align:right;min-height:80px;display:flex;flex-direction:column;justify-content:flex-end}
.calc-expr{font-size:13px;color:var(--text-muted);min-height:20px;word-break:break-all}
.calc-result{font-size:32px;font-weight:600;color:var(--text);font-family:'SF Mono',monospace}
.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex:1}
.calc-btn{border:none;border-radius:var(--radius-sm);font-size:18px;font-weight:500;cursor:pointer;transition:background .12s,transform .08s;font-family:var(--font);display:flex;align-items:center;justify-content:center}
.calc-btn:active{transform:scale(.95)}
.calc-btn.num{background:rgba(255,255,255,.06);color:var(--text)}.calc-btn.num:hover{background:rgba(255,255,255,.1)}
.calc-btn.op{background:rgba(139,92,246,.12);color:var(--accent-light)}.calc-btn.op:hover{background:rgba(139,92,246,.2)}
.calc-btn.fn{background:rgba(255,255,255,.03);color:var(--text-muted)}.calc-btn.fn:hover{background:rgba(255,255,255,.08)}
.calc-btn.eq{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;grid-column:span 2}.calc-btn.eq:hover{opacity:.9}

/* ══════ Terminal ══════ */
.term-app{display:flex;flex-direction:column;height:100%;background:#080810;font-family:'SF Mono','Fira Code',monospace}
.term-output{flex:1;padding:12px 16px;overflow-y:auto;font-size:13px;line-height:1.6;white-space:pre-wrap;color:#a3e635}
.term-output .term-line-err{color:#f87171}
.term-output .term-line-info{color:#60a5fa}
.term-output .term-line-sys{color:#94a3b8}
.term-input-row{display:flex;align-items:center;padding:8px 16px;background:rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.05)}
.term-prompt{color:#a78bfa;font-size:13px;margin-right:8px;white-space:nowrap}
.term-input{flex:1;background:transparent;border:none;outline:none;color:#a3e635;font-size:13px;font-family:inherit}

/* ══════ Settings ══════ */
.settings-app{display:flex;flex-direction:column;height:100%;background:#0c0c18;overflow-y:auto}
.settings-section{padding:20px 24px;border-bottom:1px solid var(--glass-border)}
.settings-section:last-child{border-bottom:none}
.settings-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:14px}
.settings-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.settings-label{font-size:14px}
.wallpaper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.wallpaper-swatch{height:64px;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;transition:border-color .15s,transform .12s}
.wallpaper-swatch:hover{transform:scale(1.04)}.wallpaper-swatch.active{border-color:var(--accent)}
.accent-colors{display:flex;gap:10px;margin-top:10px}
.accent-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .15s,transform .12s}
.accent-swatch:hover{transform:scale(1.15)}.accent-swatch.active{border-color:#fff}
.settings-about{text-align:center;padding:28px}
.settings-about-icon{width:48px;height:48px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center}
.settings-about-icon img{width:100%;height:100%;object-fit:contain}
.settings-about-name{font-size:20px;font-weight:700;margin-bottom:4px}
.settings-about-ver{font-size:12px;color:var(--text-muted)}
.settings-about-copy{font-size:11px;color:var(--text-muted);margin-top:16px}
.settings-logout-btn{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(248,113,113,.2);background:rgba(248,113,113,.06);color:#f87171;font-size:13px;cursor:pointer;font-family:var(--font);transition:background .12s}
.settings-logout-btn:hover{background:rgba(248,113,113,.12)}

/* ══════ Scrollbar ══════ */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}

/* ══════ Share Toast ══════ */
.share-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:rgba(40,200,64,.15);border:1px solid rgba(40,200,64,.3);color:#4ade80;padding:10px 20px;border-radius:10px;font-size:13px;z-index:99000;animation:toastIn .3s ease;backdrop-filter:blur(10px)}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
