:root{--bg: #f6f7f4;--panel: #ffffff;--panel-soft: #eef2ed;--ink: #1d2523;--muted: #63706d;--line: #d9dfda;--accent: #2f6f73;--accent-strong: #174e52;--ok: #277a4d;--warn: #a35f15;--todo: #2f69b1;--package: #7651a6;--bad: #aa3e3e;--shadow: 0 16px 40px rgba(31, 44, 40, .08)}body[data-theme=dark]{--bg: #151918;--panel: #202725;--panel-soft: #1b211f;--ink: #eef4ef;--muted: #aab8b3;--line: #34413d;--accent: #68a8a8;--accent-strong: #caeeee;--shadow: 0 16px 40px rgba(0, 0, 0, .28)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth-screen{position:relative;overflow:hidden;display:grid;min-height:100vh;place-items:center;padding:20px;background:#5869f7}.auth-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.28),transparent 32%),linear-gradient(180deg,#0c0c2814,#0c0c2852);pointer-events:none}.mesh-gradient{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.auth-panel{position:relative;z-index:1;width:min(440px,100%);border:1px solid var(--line);border-radius:8px;background:#ffffffe0;box-shadow:0 24px 80px #14143c42;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:20px}body[data-theme=dark] .auth-panel{background:#202725db}.auth-brand{margin-bottom:18px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.auth-links{display:grid;gap:8px;text-align:center}.auth-links button{border:0;background:transparent;color:var(--accent);font-weight:800}.auth-tabs button,.segmented button,.quick-status button{min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-weight:800}.auth-tabs button.active,.segmented button.active,.quick-status button.active{border-color:var(--accent);background:var(--accent);color:#fff}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);background:var(--panel-soft);padding:24px 18px}.brand{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.brand h1,.brand p,.topbar h2,.topbar p,.card h3,.empty p,.modal h3{margin:0}.brand h1{font-size:20px;line-height:1.1}.brand p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.35}.nav{display:grid;gap:8px}.nav-item{display:grid;grid-template-columns:28px 1fr;align-items:center;min-height:44px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left;padding:0 12px}.nav-item span:first-child{display:flex}.nav-item.active,.nav-item:hover{background:var(--panel);border-color:var(--line)}.main{min-width:0;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.topbar h2{margin-top:4px;font-size:28px}.top-actions,.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.search-wrap{display:flex;align-items:center;gap:8px;width:min(320px,36vw);height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:0 12px}#search-scope{max-width:104px;height:30px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-weight:800;outline:0}#search{width:100%;min-width:0;height:40px;border:0;outline:0;background:transparent;color:var(--ink);padding:0}.toolbar select{height:42px;border:0;background:transparent;color:var(--ink);padding:0 8px 0 0}.filter-control{display:flex;align-items:center;gap:8px;height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);padding:0 10px}.icon-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:12px;font-weight:900}.theme-switch{display:grid;place-items:center;width:72px;height:42px;border:1px solid var(--line);border-radius:999px;background:transparent;padding:0}.theme-track{position:relative;display:block;width:64px;height:34px;overflow:hidden;border-radius:999px;background:radial-gradient(circle at 26% 30%,rgba(255,255,255,.95),transparent 12%),linear-gradient(135deg,#9bd9ff,#f7c66b);box-shadow:inset 0 1px 2px #fffc,inset 0 -8px 18px #a35f152e,0 8px 18px #1f2c281a;transition:background .26s ease,box-shadow .26s ease}.theme-orb{position:absolute;top:4px;left:4px;z-index:2;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#fff8d7;box-shadow:0 0 0 4px #fff8d747,0 6px 12px #533b123d;transition:transform .32s cubic-bezier(.34,1.56,.64,1),background .22s ease,box-shadow .22s ease}.theme-sun,.theme-moon{position:absolute;width:14px;height:14px;border-radius:999px;transition:opacity .18s ease,transform .26s ease}.theme-sun{background:#f4a51c;box-shadow:0 -8px 0 -5px #f4a51c,0 8px 0 -5px #f4a51c,8px 0 0 -5px #f4a51c,-8px 0 0 -5px #f4a51c}.theme-moon{opacity:0;background:#dce7ff;transform:translate(8px) scale(.7)}.theme-moon:after{content:"";position:absolute;top:-2px;right:-3px;width:13px;height:13px;border-radius:inherit;background:#29314f}.theme-stars{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .22s ease}.theme-stars span{position:absolute;width:3px;height:3px;border-radius:999px;background:#ffffffe6;transform:scale(.6);animation:starPulse 1.8s ease-in-out infinite}.theme-stars span:nth-child(1){top:9px;left:14px}.theme-stars span:nth-child(2){top:21px;left:24px;animation-delay:.4s}.theme-stars span:nth-child(3){top:13px;right:13px;animation-delay:.8s}.theme-switch:hover .theme-track{box-shadow:inset 0 1px 2px #fffc,inset 0 -8px 18px #a35f152e,0 10px 24px #1f2c2829}.theme-switch:active .theme-orb{transform:scale(.92)}body[data-theme=dark] .theme-track{background:radial-gradient(circle at 76% 38%,rgba(255,255,255,.18),transparent 10%),linear-gradient(135deg,#14172f,#29314f 55%,#45276a);box-shadow:inset 0 1px 2px #ffffff2e,inset 0 -8px 18px #0000003d,0 8px 18px #00000047}body[data-theme=dark] .theme-orb{transform:translate(30px);background:#dce7ff;box-shadow:0 0 0 4px #dce7ff24,0 6px 12px #00000052}body[data-theme=dark] .theme-switch:active .theme-orb{transform:translate(30px) scale(.92)}body[data-theme=dark] .theme-sun{opacity:0;transform:translate(-8px) scale(.7) rotate(-45deg)}body[data-theme=dark] .theme-moon{opacity:1;transform:translate(0) scale(1)}body[data-theme=dark] .theme-stars{opacity:1}@keyframes starPulse{0%,to{transform:scale(.6);opacity:.55}50%{transform:scale(1);opacity:1}}.icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-text,.segmented button,.quick-status button,.user-dropdown button,.pill{display:inline-flex;align-items:center;justify-content:center;gap:7px}.user-menu{position:relative}.user-menu-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink)}.top-avatar{width:36px;height:36px;border-radius:999px;object-fit:cover}.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:5;display:grid;min-width:180px;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);padding:8px}.user-dropdown button{justify-content:flex-start;min-height:40px;border:0;border-radius:8px;background:transparent;color:var(--ink);padding:0 10px;font-weight:800}.user-dropdown button:hover{background:var(--panel-soft)}.import-btn input,.view{display:none}.view.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:20px}.stat,.list-panel,.card{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.stat{min-height:110px;padding:18px}.stat p{margin:0 0 14px;color:var(--muted);font-size:13px;font-weight:700}.stat strong{display:block;font-size:30px;line-height:1}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 14px}.section-head h3{margin:0;font-size:18px}.primary-btn,.secondary-btn,.danger-btn{min-height:40px;border:1px solid transparent;border-radius:8px;padding:0 14px;font-weight:700}.primary-btn{background:var(--accent);color:#fff}.secondary-btn{background:var(--panel);border-color:var(--line);color:var(--ink)}.danger-btn{background:#aa3e3e1a;border-color:#aa3e3e40;color:var(--bad)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.card{display:grid;position:relative;gap:12px;min-height:190px;padding:16px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-5px);border-color:#2f6f7373;box-shadow:0 24px 70px #1f2c282b}.bento-card{isolation:isolate;overflow:hidden;min-height:230px;align-content:start;background:linear-gradient(135deg,#ffffffeb,#ffffffb8),radial-gradient(circle at 15% 10%,rgba(47,111,115,.13),transparent 34%),radial-gradient(circle at 92% 18%,rgba(47,105,177,.12),transparent 32%),var(--panel)}body[data-theme=dark] .bento-card{background:linear-gradient(135deg,#202725f2,#202725c7),radial-gradient(circle at 15% 10%,rgba(104,168,168,.18),transparent 34%),radial-gradient(circle at 92% 18%,rgba(47,105,177,.18),transparent 32%),var(--panel)}.bento-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(rgba(99,112,109,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,112,109,.08) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(135deg,black,transparent 72%);mask-image:linear-gradient(135deg,black,transparent 72%);opacity:.9}.bento-card:after{content:"";position:absolute;inset:auto -20% -45% 18%;z-index:-1;height:150px;border-radius:999px;background:#2f6f731f;filter:blur(30px);transition:transform .18s ease,opacity .18s ease}.bento-card:hover:after{opacity:.95;transform:translateY(-12px) scale(1.08)}.bento-projects:after{background:#a35f1524}.bento-payments:after{background:#277a4d21}.bento-services:after{background:#7651a624}.bento-tasks:after{background:#2f69b124}.bento-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}.bento-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:#ffffffa8;color:var(--accent);box-shadow:inset 0 1px #ffffff8c}body[data-theme=dark] .bento-icon{background:#ffffff0f}.bento-title-block{display:grid;gap:5px}.bento-title-block p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.card h3{margin:0;font-size:19px;line-height:1.18;overflow-wrap:anywhere}.thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.meta{display:grid;gap:7px;color:var(--muted);font-size:14px}.meta div{overflow-wrap:anywhere}.pill-row,.quick-status{display:flex;flex-wrap:wrap;gap:6px}.pill{border-radius:999px;background:#2f6f731f;color:var(--accent-strong);padding:5px 9px;font-size:12px;font-weight:800}.pill.done,.quick-status button.done.active,.bar-fill.done{background:#277a4d24;color:var(--ok)}.pill.todo,.quick-status button.todo.active{background:#2f69b124;color:var(--todo)}.pill.doing,.quick-status button.doing.active{background:#a35f1529;color:var(--warn)}.pill.canceled,.quick-status button.canceled.active{background:#aa3e3e24;color:var(--bad)}.pill.package{background:#7651a626;color:var(--package)}.quick-status button{display:grid;place-items:center;width:34px;min-height:32px;padding:0;font-size:12px}.quick-status button .icon{width:16px;height:16px}.quick-status button.active{border-color:currentColor}.card-actions,.row-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}.floating-actions{position:absolute;top:14px;right:14px;z-index:2;margin:0;opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}.card:hover .floating-actions,.card:focus-within .floating-actions{opacity:1;transform:translateY(0)}.bento-card .floating-actions{background:#ffffffb8;border:1px solid var(--line);border-radius:10px;padding:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body[data-theme=dark] .bento-card .floating-actions{background:#202725c2}.icon-only{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0}.empty{border:1px dashed var(--line);border-radius:8px;background:#ffffff0f;padding:34px;text-align:center;color:var(--muted)}.empty.compact{padding:18px}.dashboard-grid,.settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px}.list-panel{padding:16px}.list-panel h3{margin:0 0 12px;font-size:17px}.mini-list{display:grid;gap:10px}.mini-item{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:10px}.mini-item:first-child{border-top:0;padding-top:0}.mini-item strong,.mini-item span{overflow-wrap:anywhere}.mini-item span{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.analytics-panel{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);padding:16px}.bar-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:130px minmax(120px,1fr) minmax(90px,auto);align-items:center;gap:12px}.bar-row span{color:var(--muted);font-size:13px}.bar-row strong{text-align:right}.bar-track{height:14px;overflow:hidden;border-radius:999px;background:var(--panel-soft)}.bar-fill{height:100%;border-radius:inherit}table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}.kanban{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.kanban-column{min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffff2e;padding:12px}.kanban-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.kanban-head h3{margin:0;font-size:16px}.kanban-head span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:var(--panel);color:var(--muted);font-weight:800}.kanban-items{display:grid;gap:12px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#18221f73;padding:18px}.modal.open{display:flex}.modal-panel{width:min(680px,100%);max-height:92vh;overflow:auto;border-radius:8px;background:var(--panel);box-shadow:0 24px 90px #00000038}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:16px}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.auth-form,.single-form{grid-template-columns:1fr;padding:0}.field{display:grid;gap:7px}.field.full{grid-column:1 / -1}.field label,.toggle-row{color:var(--muted);font-size:13px;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:10px 11px}.field textarea{min-height:96px;resize:vertical}.password-wrap{display:grid;grid-template-columns:1fr 42px;gap:8px}.password-wrap input{min-width:0}.password-eye{width:42px}.form-image{width:160px;height:100px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}.profile-preview{display:flex;align-items:center}.avatar{width:96px;height:96px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}.avatar.placeholder{display:grid;place-items:center;background:var(--accent);color:#fff;font-size:36px;font-weight:900}.toggle-row{display:flex;align-items:center;gap:10px}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:20;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);padding:12px 14px;opacity:0;transform:translateY(12px);transition:opacity .18s ease,transform .18s ease}.toast.show{opacity:1;transform:translateY(0)}@media (max-width: 1000px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.stats,.dashboard-grid,.settings-grid{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:1fr}}@media (max-width: 680px){body{padding-bottom:94px}.main,.sidebar{padding:16px}.sidebar{position:fixed;left:50%;right:auto;bottom:12px;z-index:10;width:min(94vw,560px);transform:translate(-50%);border:1px solid var(--line);border-radius:18px;background:#ffffffdb;box-shadow:0 18px 50px #00000029;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:8px}body[data-theme=dark] .sidebar{background:#202725e6}.sidebar .brand{display:none}.topbar,.section-head{align-items:stretch;flex-direction:column}.top-actions,.toolbar,#search,.search-wrap,.toolbar select,.filter-control,.primary-btn,.secondary-btn,.danger-btn{width:100%}.icon-btn,.theme-switch,.user-menu{flex:1}.user-menu-btn{width:100%;border-radius:8px}.user-dropdown{left:0;right:0}.nav,.stats,.dashboard-grid,.settings-grid,.form{grid-template-columns:1fr}.nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-item{display:grid;grid-template-columns:1fr;justify-items:center;flex:0 0 68px;min-height:58px;padding:6px;font-size:11px;text-align:center}.nav-item .icon{width:20px;height:20px}.segmented{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.card-actions,.row-actions{flex-direction:column}.floating-actions{opacity:1;transform:none}.bar-row{grid-template-columns:1fr;gap:7px}.bar-row strong{text-align:left}.toast-stack{right:12px;bottom:92px}}
