:root{--font-display:'IBM Plex Sans Local',sans-serif;--font-body:'IBM Plex Sans Local',sans-serif;--sbw:248px;--r:18px;--rs:12px;--shadow:0 8px 28px rgba(27,41,78,.035);--shadow-md:0 16px 36px rgba(27,41,78,.09)}
body.studio-paper{--bg:#f5f6fa;--s:#fff;--ink:#1d2941;--ink2:#66738d;--ink3:#939db0;--b:#e6e9f0;--a:#3d5fe0;--ah:#2f4dc1;--card-bg:#fff;--card-b:#e3e7ef;--input-bg:#f7f8fb;--hover:#f1f3fa;--active-bg:#eaf0ff}
body.studio-night{--bg:#11182a;--s:#192339;--ink:#f4f6ff;--ink2:#b1bdd1;--ink3:#8391ab;--b:#34415a;--a:#a7b9ff;--ah:#c6d0ff;--card-bg:#1d2941;--card-b:#36435b;--input-bg:#233149;--hover:#2d3a54;--active-bg:#303f6c}
body.studio-glacier{--bg:#f1f6fb;--s:#fff;--ink:#1d3349;--ink2:#617b91;--ink3:#8da2b4;--b:#dce7ef;--a:#2d709c;--ah:#245a7e;--card-bg:#fff;--card-b:#dce7ef;--input-bg:#f5f9fc;--hover:#eaf3f9;--active-bg:#e2f1f8}
body.studio-lavender{--bg:#f7f5fb;--s:#fff;--ink:#322b49;--ink2:#766c8f;--ink3:#9d95b0;--b:#e9e3f0;--a:#7457b2;--ah:#5e4596;--card-bg:#fff;--card-b:#e7e1ef;--input-bg:#faf8fc;--hover:#f2eef8;--active-bg:#eee9f8}
body.studio-sand{--bg:#faf7f2;--s:#fffefa;--ink:#3c3540;--ink2:#827682;--ink3:#a59aab;--b:#ece4e2;--a:#a5654e;--ah:#8b4e3d;--card-bg:#fffefa;--card-b:#ebe2df;--input-bg:#fcf9f6;--hover:#f7f0ea;--active-bg:#f6e9e0}
body,button,input,select,textarea{font-family:'IBM Plex Sans Local',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{font-size:14px;letter-spacing:-.012em;-webkit-font-smoothing:antialiased}
button,a,input,select,textarea{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid color-mix(in srgb,var(--a) 38%,transparent)!important;outline-offset:2px}
::selection{background:color-mix(in srgb,var(--a) 24%,transparent)}
.app,.main,.board-view,.dash-view,.fin-view,.cal-view,.projects-view,.proj-detail,.settings-view,.port-view{background:var(--bg)}
.sidebar{background:var(--s);border-right:1px solid var(--b);box-shadow:none;padding:22px 13px 15px}
.sb-brand{padding:2px 10px 24px;gap:11px}.sb-logo{width:42px;height:42px;border-radius:13px;box-shadow:0 8px 16px rgba(36,65,161,.14)}.sb-brand h1{font-size:19px;font-weight:750;letter-spacing:-.045em}
.sb-label{font-size:10px;letter-spacing:.13em;font-weight:700;padding:13px 14px 8px}
.sb-item{min-height:45px;font-size:13px;font-weight:560;border-radius:11px;margin:2px 0}.sb-item.active{font-weight:720}.sb-item svg{opacity:.8}.sb-bottom{border-top:1px solid var(--b)}.sb-user{border-radius:10px}
.studio-topbar{min-height:100px;padding:20px 32px;background:var(--s);border-bottom:1px solid var(--b)}.studio-eyebrow{font-size:10px;font-weight:750;letter-spacing:.15em;color:var(--a);margin-bottom:6px}.studio-heading h2{font-size:28px;font-weight:740;letter-spacing:-.045em}
.studio-create,.btn-pri,.btn-primary{font-weight:680;letter-spacing:-.005em;border-radius:11px;box-shadow:0 7px 18px color-mix(in srgb,var(--a) 18%,transparent)}
.studio-create{font-size:13px;padding:12px 17px}.studio-create-plus{background:rgba(255,255,255,.16);width:20px;height:20px;font-weight:500}
.btn-sec{border-radius:10px;background:var(--input-bg);font-weight:600}
.dash-view,.fin-view,.projects-view,.proj-detail,.settings-view,.port-view{padding:25px 32px}
.dash-greeting,.dash-card-value,.fin-card-value,.modal-head h2,.studio-settings-page>h2{font-family:'IBM Plex Sans Local',sans-serif!important;letter-spacing:-.045em}
.dash-greeting{font-size:28px;font-weight:740!important}.dash-date{font-size:13px}.dash-card-value,.fin-card-value{font-variant-numeric:tabular-nums;font-weight:730!important}
.dash-card,.dash-section,.fin-card,.fin-section,.pc,.settings-section,.settings-card{border-radius:17px;border-color:var(--card-b);box-shadow:var(--shadow)}
.dash-card,.fin-card{padding:21px}.dash-card:hover,.fin-card:hover{transform:none;border-color:color-mix(in srgb,var(--a) 35%,var(--card-b));box-shadow:var(--shadow-md)}
.dash-card-label,.fin-card-label{font-size:11px;font-weight:660;letter-spacing:.045em}.dash-section-head,.fin-section-head{padding:19px 21px}.dash-section-head h3,.fin-section-head h3{font-weight:710;letter-spacing:-.025em}
.dash-task-item{padding:13px 21px}.dashboard-account-item,.dashboard-transaction{border-radius:12px}
.filters-bar{padding:13px 32px;background:var(--s);border-color:var(--b)}.f-search input,.f-select{min-height:38px;border-radius:10px}
.cols{gap:15px;padding:20px 32px 30px}.col{background:color-mix(in srgb,var(--bg) 91%,var(--a));border:1px solid var(--b);border-radius:17px;width:286px;min-width:286px}.col-head{padding-bottom:15px}.col-title{font-weight:700}.kc{border-radius:13px;padding:16px;box-shadow:var(--shadow)}.kc:hover{transform:none;border-color:color-mix(in srgb,var(--a) 35%,var(--card-b))}
.fin-tabs{padding:12px 32px;background:var(--s);gap:5px;border-bottom:1px solid var(--b)}.fin-tab{border:0!important;border-radius:10px!important;padding:9px 15px;font-size:12px;font-weight:630}.fin-tab.active,.dark .fin-tab.active{background:var(--active-bg);color:var(--a)}
.fin-grid{gap:13px}.fin-card-value{font-size:25px}.finance-hero{background:radial-gradient(circle at 92% 10%,rgba(126,154,255,.26),transparent 34%),linear-gradient(125deg,#263f86,#1c2f65);border-radius:19px;padding:29px 32px;box-shadow:0 16px 35px rgba(32,53,111,.14)}.finance-hero-value{font-size:40px;font-weight:730;letter-spacing:-.055em}.finance-hero p{font-size:13px}.finance-hero .btn-sec{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}
.finance-category-section,.finance-categories-intro{border-radius:17px}.finance-categories-intro{background:linear-gradient(120deg,#263f86,#1c2f65)}.finance-category-card{border-radius:12px}.finance-market-status{border-radius:12px;padding:12px 15px}
.fin-section{overflow:hidden}.fin-row{padding:14px 19px}.fin-name{font-weight:650}.fin-sub{font-size:11px}.fin-amount,.fin-account-bal{font-variant-numeric:tabular-nums}.fin-icon,.fin-account-icon{border-radius:11px}
.fin-account{border-radius:13px;padding:16px}.fin-account-name{font-weight:680}.fin-account-bal{font-weight:710}
.cal-view{padding:21px 32px}.cal-header h2{display:none}.cal-header h2{font-family:'IBM Plex Sans Local',sans-serif!important;font-weight:720!important}.cal-day{border-radius:13px;box-shadow:none}.cal-day.today{box-shadow:inset 0 0 0 1px var(--a)}.cal-task-pill{border-radius:6px}.cal-day-panel,.detail-panel{background:var(--s);box-shadow:-20px 0 50px rgba(24,38,77,.11)}
.detail-head,.cal-day-panel-head{background:var(--s);border-color:var(--b)}.detail-body,.cal-day-panel-body{background:var(--s)}.task-detail-hero{border-radius:15px}.task-detail-hero h2{font-weight:740;letter-spacing:-.04em}
.studio-settings-page>h2,.studio-settings-page>p{display:none}.settings-section{background:var(--card-bg);border:1px solid var(--b)}.settings-section h3{font-weight:710}.theme-card{border-radius:13px!important;box-shadow:none!important}
/* All creation and editing windows share the same frame. */
.modal-overlay{background:rgba(16,25,49,.54);backdrop-filter:blur(8px)}
.modal{background:var(--s);border:1px solid var(--b);border-radius:20px;box-shadow:0 32px 90px rgba(13,23,50,.22);overflow:hidden}
.modal-head,.task-editor-head{background:var(--s);color:var(--ink);border-bottom:1px solid var(--b);min-height:81px;padding:20px 27px}
.modal-head h2,.task-editor-head h2{font-size:21px;font-weight:730;color:var(--ink)}.task-editor-head h2{font-size:24px;margin:3px 0}.task-editor-head p{font-size:12px;color:var(--ink2);opacity:1}.task-editor-eyebrow{color:var(--a);opacity:1;font-size:10px;letter-spacing:.13em}
.modal-title-icon{background:var(--active-bg);color:var(--a)}#taskModal .modal-head h2:before{content:none}
.modal-x{background:var(--input-bg);color:var(--ink2);border:1px solid var(--b);border-radius:10px;width:36px;height:36px;flex-shrink:0}.modal-x:hover{background:var(--hover);color:var(--ink);transform:none}
.modal-body{background:var(--s);padding:24px 27px 27px}.modal-section-label{color:var(--a);font-weight:720;letter-spacing:.08em}
.modal .fg label{display:block;font-size:12px;font-weight:650;color:var(--ink2);margin-bottom:7px}.modal .fg input:not([type=checkbox]),.modal .fg select,.modal .fg textarea{min-height:46px;background:var(--input-bg);border:1px solid var(--b);border-radius:10px;color:var(--ink);font-size:14px;padding:10px 12px}.modal .fg input:hover,.modal .fg select:hover,.modal .fg textarea:hover{border-color:color-mix(in srgb,var(--a) 35%,var(--b))}
.modal .fg input[type=color]{padding:4px;cursor:pointer}.modal-foot{border-top:1px solid var(--b);padding:18px 0 0;margin-top:22px;gap:12px}.modal-foot .btn{min-height:42px;font-size:13px;padding:9px 17px}
.task-editor-modal{max-width:920px!important;width:min(920px,calc(100vw - 28px))}.task-editor-body{grid-template-columns:minmax(0,1.45fr) minmax(255px,.8fr);gap:23px}.task-editor-side{background:var(--input-bg);border-radius:13px;padding:17px}.task-title-field input{font-size:18px!important;font-weight:690!important}.task-rich-toolbar{background:var(--input-bg);border-radius:10px 10px 0 0}.task-rich-editor{min-height:170px;border-radius:0 0 10px 10px;font-size:14px}.task-editor-checklist{border-radius:12px}.task-editor-foot{padding:17px 27px;margin:0;background:var(--s)}
.tx-type-option{border-radius:12px;min-height:81px}.tx-type-option.selected{background:var(--active-bg);border-color:var(--a);box-shadow:inset 0 0 0 1px var(--a)}.account-icon-option,.icon-opt{border-radius:10px}
/* Auth: editorial split layout with a focused form. */
#authScreen{position:fixed;inset:0;z-index:9998;align-items:center;justify-content:center;padding:24px;background:#f3f5fa!important;overflow:auto}
#authScreen>.auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.95fr);width:min(100%,1010px);max-width:1010px!important;min-height:610px;padding:0!important;background:#fff;border:1px solid #dfe4ee;border-radius:25px;box-shadow:0 32px 95px rgba(27,43,80,.13);overflow:hidden;position:relative}
.auth-intro{display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:42px 46px;background:radial-gradient(circle at 85% 88%,rgba(142,169,255,.26),transparent 34%),linear-gradient(150deg,#273f83,#192d60);color:#fff}
.auth-intro-brand,.auth-mobile-brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:740;letter-spacing:-.035em}.auth-intro-brand img,.auth-mobile-brand img{width:40px;height:40px;border-radius:11px}.auth-intro-copy{max-width:420px}.auth-overline,.auth-form-overline{display:block;font-size:10px;font-weight:760;letter-spacing:.15em}.auth-overline{color:#b8cbff}.auth-intro-copy h1{font-size:clamp(37px,3.8vw,55px);line-height:1.07;letter-spacing:-.06em;font-weight:760;margin:19px 0 19px}.auth-intro-copy p{font-size:15px;line-height:1.6;color:#d2ddf6;max-width:360px;margin:0}.auth-intro-sections{display:flex;flex-wrap:wrap;gap:8px}.auth-intro-sections span{font-size:11px;font-weight:600;padding:8px 11px;border-radius:8px;border:1px solid rgba(255,255,255,.22);color:#dfe8ff}
.auth-pane{display:flex;align-items:center;justify-content:center;padding:50px 48px;background:#fff}.auth-pane-inner{width:100%;max-width:355px}.auth-mobile-brand{display:none}.auth-form-overline{color:#5670bb;margin-bottom:13px}.auth-pane h2{font-size:32px;font-weight:750;letter-spacing:-.05em;color:#1d2941;margin:0 0 7px}.auth-pane p{font-size:14px;color:#78849a;margin:0 0 31px;line-height:1.5}
#authScreen .fg{margin-bottom:18px}#authScreen .fg label{color:#4d5b76;font-size:12px;font-weight:650;margin-bottom:8px}#authScreen .fg input{min-height:48px;background:#f7f8fb;color:#1d2941;border:1px solid #dfe4ee;border-radius:10px;font-size:14px;padding:12px 14px}#authScreen .fg input::placeholder{color:#a0a9ba}#authScreen .fg input:focus{border-color:#5271e5;background:#fff}
.auth-password-field{position:relative}.auth-password-field input{width:100%;padding-right:91px!important}.auth-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#65769b;font-size:12px;font-weight:660;padding:8px;cursor:pointer}.auth-password-toggle:hover{color:#3353c9}
.auth-error{color:#d23f58;font-size:12px;min-height:20px;margin:-2px 0 10px}.auth-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:49px;padding:12px 16px!important;border-radius:10px!important;background:#3d5fe0!important;color:#fff!important;font-size:14px;font-weight:690;box-shadow:0 9px 19px rgba(61,95,224,.19)!important}.auth-submit:hover{background:#304dc3!important}.auth-submit:disabled{opacity:.7;cursor:wait}.auth-submit span{font-size:20px;line-height:1;font-weight:400}.auth-switch{font-size:13px;text-align:center;margin-top:22px;color:#7a8598}.auth-switch a,#authScreen a{color:#3557d1!important;font-weight:690;text-decoration:none}.auth-switch a:hover{text-decoration:underline}
#loadingScreen{background:#f3f5fa!important}.loader-logo{background:transparent!important}
@media(max-width:900px){.studio-topbar{padding:19px 24px}.dash-view,.fin-view,.projects-view,.proj-detail,.settings-view,.port-view,.cal-view{padding:20px 24px}.fin-tabs{padding:10px 24px}.cols{padding:16px 24px}.auth-pane{padding:44px 34px}.auth-intro{padding:40px 34px}}
@media(max-width:768px){.studio-topbar{min-height:91px;padding:18px 17px 17px 56px}.studio-heading h2{font-size:23px}.dash-view,.fin-view,.projects-view,.proj-detail,.settings-view,.port-view,.cal-view{padding:16px}.filters-bar{padding:10px 16px}.cols{padding:12px 16px}.col{width:calc(100vw - 32px);min-width:calc(100vw - 32px)}.fin-tabs{padding:7px 16px}.finance-hero{padding:24px}.finance-hero-value{font-size:32px}.auth-intro{display:none}#authScreen>.auth-shell{display:block;min-height:0;max-width:470px!important}.auth-pane{padding:45px 35px}.auth-mobile-brand{display:flex;margin-bottom:40px;color:#1d2941}.task-editor-body{grid-template-columns:1fr;gap:15px}.task-editor-modal{max-height:calc(100dvh - 14px)!important}.modal-head,.task-editor-head{padding:20px}.modal-body{padding:20px}.task-editor-foot{padding:15px 20px}.modal-overlay{padding:10px}}
@media(max-width:480px){#authScreen{padding:0;background:#fff!important;align-items:stretch}#authScreen>.auth-shell{border:0;border-radius:0;box-shadow:none;width:100%;max-width:none!important;min-height:100dvh}.auth-pane{padding:47px 25px 30px;align-items:flex-start}.auth-pane-inner{max-width:none}.auth-mobile-brand{margin-bottom:55px}.auth-pane h2{font-size:29px}.modal-overlay{padding:0!important;align-items:flex-end!important}.modal{border-radius:18px 18px 0 0!important;max-height:92dvh!important}.modal-head,.task-editor-head{padding:18px}.modal-body{padding:19px}.task-editor-foot{padding:13px 18px}.modal-foot .right{gap:7px}.modal-foot .btn{padding:9px 12px}}
