/* Базовые стили интерфейса. */
:root{--bg:#f4f6f4;--s:#fff;--ink:#182921;--ink2:#60736a;--ink3:#899a91;--b:#e5ebe6;--a:#176c56;--ah:#0d5744;--card-bg:#fff;--card-b:#e2e9e3;--input-bg:#f4f7f4;--hover:#eef5f0;--active-bg:#e6f3eb;--sbw:258px;--r:14px;--rs:10px;--shadow:0 3px 16px rgba(27,56,40,.05);--shadow-md:0 10px 30px rgba(27,56,40,.09)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink)}
.app{background:var(--bg);background-image:none}
.sidebar{padding:20px 12px 14px;background:var(--s);border-right:1px solid var(--b);box-shadow:2px 0 24px rgba(20,50,31,.025);z-index:10}
.sb-brand{padding:4px 10px 24px;border-bottom:0;gap:12px}
.sb-logo{width:44px;height:44px;border-radius:14px;background:#176c56;color:white;font:700 25px/1 Inter,sans-serif;box-shadow:0 8px 18px rgba(23,108,86,.21)}
.sb-logo:before,.sb-logo:after{display:none}
.sb-brand h1{font-size:16px;font-weight:800;letter-spacing:-.04em;color:var(--ink)}
.sb-brand p{margin-top:3px;font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--ink3)}
.sb-collapse{width:30px;height:30px;background:var(--input-bg);border-radius:9px}
.sb-scroll{padding:3px 0;scrollbar-width:thin}
.sb-label{font-size:10px;font-weight:800;color:var(--ink3);letter-spacing:.11em;padding:12px 14px 9px}
.sb-label-fin{margin-top:19px}
.sb-item{min-height:46px;margin:3px 0;border-radius:12px;padding:10px 14px;gap:12px;font-size:13px;font-weight:650;color:var(--ink2);transition:background .15s,color .15s}
.sb-item:hover{transform:none;background:var(--hover);color:var(--ink)}
.sb-item.active{background:var(--active-bg);color:var(--a);box-shadow:none;font-weight:750}
.sb-item svg{width:18px;height:18px;opacity:.75}
.sb-item.active svg{opacity:1}
.sb-item .sb-arrow,.sb-sub{display:none!important}
.sb-bottom{margin-top:12px;padding:16px 6px 0;border-top:1px solid var(--b);gap:8px}
.sb-user{width:36px;height:36px;background:var(--active-bg);color:var(--a);border-radius:11px;font-weight:800}
.sb-user-name{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-icon-btn{width:32px;height:32px;color:var(--ink2)}
.sidebar.collapsed{padding-left:6px;padding-right:6px;width:64px}
.sidebar.collapsed .sb-item{border-radius:12px}
.main{background:var(--bg)}
.studio-topbar{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 32px 19px;border-bottom:1px solid var(--b);background:var(--s);flex-shrink:0}
.studio-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--a);margin-bottom:7px}
.studio-eyebrow span{color:var(--ink3);margin:0 5px}
.studio-heading h2{font-size:27px;letter-spacing:-.05em;line-height:1.1;font-weight:800;color:var(--ink)}
.studio-heading p{font-size:12px;color:var(--ink2);margin-top:7px}
.studio-create{display:inline-flex;align-items:center;gap:10px;background:var(--a);color:#fff;border:1px solid transparent;border-radius:12px;padding:11px 16px;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap;box-shadow:0 7px 18px rgba(23,108,86,.17);transition:transform .15s,background .15s,box-shadow .15s}
.studio-create:hover{background:var(--ah);transform:translateY(-1px);box-shadow:0 10px 24px rgba(23,108,86,.22)}
.studio-create-plus{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:rgba(255,255,255,.2);font-size:18px;line-height:1}
.fab{display:none!important}
.dash-view,.fin-view,.projects-view,.proj-detail,.settings-view,.port-view{padding:26px 32px;background:var(--bg)}
.dash-view{background:var(--bg)}
.dash-greeting{font-family:Inter,-apple-system,sans-serif;font-weight:800;font-size:27px;letter-spacing:-.055em;background:none;-webkit-text-fill-color:var(--ink);color:var(--ink)}
.dash-date{margin-bottom:24px;font-size:12px;color:var(--ink2)}
.dash-grid{gap:14px;margin-bottom:22px}
.dash-card,.dash-section,.fin-card,.fin-section,.pc,.settings-card{background:var(--card-bg);border:1px solid var(--card-b);border-radius:16px;box-shadow:var(--shadow)}
.dash-card,.fin-card{padding:20px}
.dash-card:hover,.fin-card:hover{transform:translateY(-2px);border-color:#bed5c5;box-shadow:var(--shadow-md)}
.dash-card:before,.dash-card:after{display:none}
.dash-card-label,.fin-card-label{font-size:10px;letter-spacing:.09em;color:var(--ink2)}
.dash-card-value,.fin-card-value{font-family:Inter,-apple-system,sans-serif;font-size:28px;font-weight:800;letter-spacing:-.05em;color:var(--ink)}
.dash-section-head,.fin-section-head{padding:17px 20px}
.dash-task-item{padding:12px 20px}
.filters-bar{padding:14px 32px;gap:10px;background:var(--s);border-bottom:1px solid var(--b)}
.f-search input,.f-select{border:1px solid var(--b);background:var(--input-bg);border-radius:10px;color:var(--ink)}
.f-pill{border-radius:9px;font-weight:700}
.f-pill.active{background:var(--active-bg);color:var(--a)}
.board-view{background:var(--bg)}
.cols{gap:14px;padding:20px 32px 28px}
.col{width:274px;min-width:274px;padding:12px;background:#edf2ed;border:1px solid #e2e9e3;border-radius:16px}
body.dark .col{background:var(--s);border-color:var(--b)}
.col-head{padding:4px 2px 13px}
.col-title{font-size:13px;font-weight:800;letter-spacing:-.025em}
.col-count{background:var(--s);color:var(--ink2);border:1px solid var(--b)}
.col-body{padding:0 0 10px;gap:9px}
.kc{border-radius:12px;padding:15px;background:var(--card-bg);border:1px solid var(--card-b);box-shadow:0 2px 7px rgba(30,58,36,.035);transform:none}
.kc:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#b7d3bd}
.kc-title{font-size:13px;white-space:normal;line-height:1.38}
.add-card-btn{border-radius:10px;min-height:38px;font-weight:650;color:var(--ink2)}
.fin-tabs{padding:12px 32px 0;gap:7px;background:var(--s);border-bottom:1px solid var(--b)}
.fin-tab{padding:10px 15px 12px;border-radius:9px 9px 0 0;color:var(--ink2);font-size:12px;font-weight:700}
.fin-tab:hover{background:var(--hover);color:var(--ink)}
.fin-tab.active,.dark .fin-tab.active{color:var(--a);border-bottom:3px solid var(--a);background:var(--active-bg)}
.fin-grid{gap:14px}
.fin-card:hover{border-color:#bed5c5}
.fin-account,.fin-row{transition:background .15s}
.fin-account:hover,.fin-row:hover{background:var(--hover)}
.btn-pri,.btn-primary{background:var(--a);color:white;border-radius:10px;font-weight:750;box-shadow:none}
.btn-pri:hover,.btn-primary:hover{background:var(--ah)}
.btn-sec{background:var(--input-bg);border:1px solid var(--b);color:var(--ink);border-radius:10px}
input,select,textarea{color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--a) 28%,transparent);outline-offset:1px}
.modal-overlay{background:rgba(12,31,21,.5);backdrop-filter:blur(6px)}
.modal{border:1px solid var(--b);border-radius:20px;box-shadow:0 28px 80px rgba(8,35,21,.24)}
.modal-head h2{font-family:Inter,-apple-system,sans-serif;font-size:19px;letter-spacing:-.04em;font-weight:800}
.modal-x{width:36px;height:36px;border-radius:10px;color:var(--ink2)}
.cal-view{padding:20px 32px;background:var(--bg)}
.cal-month,.cal-grid,.cal-header{border-color:var(--b)}
#authScreen{background:#edf3ed!important}
#authCanvas{opacity:.12}
#authScreen>div{background:#fff;padding:36px 34px;border:1px solid #dde8dd;border-radius:24px;box-shadow:0 28px 65px rgba(24,66,41,.12);max-width:410px!important}
#authScreen .fg label{color:#60736a}
#authScreen .fg input{background:#f5f8f4;color:#182921;border:1px solid #dbe7dd;border-radius:10px}
#authScreen .btn-pri{background:#176c56;color:#fff}
#authScreen a{color:#176c56!important}
#authScreen .fg~div{color:#60736a}
#loadingScreen{background:#edf3ed!important}
.loader-logo{background:#176c56;color:#fff}
@media(max-width:900px){.studio-topbar{padding:22px 24px}.dash-view,.fin-view,.projects-view,.proj-detail,.settings-view,.port-view,.cal-view{padding:20px 24px}.filters-bar{padding:12px 24px}.cols{padding:16px 24px}.fin-tabs{padding-left:24px;padding-right:24px}}
@media(max-width:768px){
  .main{padding-top:0;padding-bottom:66px}
  .studio-topbar{min-height:96px;padding:18px 18px 16px 56px}
  .studio-heading h2{font-size:22px}
  .studio-heading p{font-size:11px;max-width:210px;line-height:1.2}
  .studio-eyebrow{font-size:9px}
  .studio-create{display:none}
  .sb-toggle{display:flex!important;position:absolute;top:24px;left:12px;width:34px;height:34px;border-radius:9px;box-shadow:none;background:var(--input-bg)}
  .sidebar{display:flex!important;position:fixed;top:0;bottom:0;left:0;width:min(300px,85vw);transform:translateX(-110%);transition:transform .2s ease;z-index:520;box-shadow:16px 0 40px rgba(0,0,0,.16)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.open{display:block!important;z-index:510}
  .dash-view,.fin-view,.projects-view,.proj-detail,.port-view,.settings-view,.cal-view{padding:16px}
  .filters-bar{padding:10px 16px;gap:8px}
  .cols{padding:12px 16px;gap:12px}
  .col{width:calc(100vw - 32px);min-width:calc(100vw - 32px);padding:9px;scroll-snap-align:center}
  .fin-tabs{padding:6px 16px 0;gap:2px}
  .fin-tab{padding:10px 12px;font-size:11px}
  .mobile-nav{background:var(--s);box-shadow:0 -8px 24px rgba(20,55,34,.06)}
  .mn-fab{background:var(--a);box-shadow:0 6px 18px rgba(23,108,86,.28)}
  .mobile-settings-btn.show{display:none!important}
  .cal-day-panel{z-index:600}
  .cal-day-panel:not(.open){visibility:hidden;pointer-events:none}
  #authScreen>div{padding:26px 22px;max-width:380px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Studio themes: all share the same clear layout and differ only in palette. */
body.studio-paper{--bg:#f4f6f4;--s:#fff;--ink:#182921;--ink2:#60736a;--ink3:#899a91;--b:#e5ebe6;--a:#176c56;--ah:#0d5744;--card-bg:#fff;--card-b:#e2e9e3;--input-bg:#f4f7f4;--hover:#eef5f0;--active-bg:#e6f3eb}
body.studio-night{--bg:#0c1915;--s:#14251d;--ink:#edf7ef;--ink2:#b3c9ba;--ink3:#849f8e;--b:#2a4636;--a:#79d9a2;--ah:#9ce9bb;--card-bg:#192c21;--card-b:#304c3b;--input-bg:#213629;--hover:#294637;--active-bg:#234735}
body.studio-glacier{--bg:#f2f6fa;--s:#fff;--ink:#203449;--ink2:#667d91;--ink3:#8a9ead;--b:#dfe8f0;--a:#366aa9;--ah:#28598e;--card-bg:#fff;--card-b:#dce7ef;--input-bg:#f2f7fb;--hover:#edf4fa;--active-bg:#e6f0fa}
body.studio-lavender{--bg:#f7f4fa;--s:#fff;--ink:#31283f;--ink2:#746a82;--ink3:#9b90a7;--b:#eae3ef;--a:#7656a0;--ah:#614687;--card-bg:#fff;--card-b:#e7dfee;--input-bg:#f8f5fb;--hover:#f3edf8;--active-bg:#eee6f6}
body.studio-sand{--bg:#faf6f0;--s:#fffdf9;--ink:#3b3028;--ink2:#857264;--ink3:#aa9887;--b:#eee4d8;--a:#a4613b;--ah:#894d2b;--card-bg:#fffdf9;--card-b:#eee1d3;--input-bg:#faf5ef;--hover:#f7eee3;--active-bg:#f4e8d9}
body.studio-night .fin-card,body.studio-night .dash-card{border-color:var(--card-b)}
body.studio-night .studio-create,body.studio-night .btn-pri,body.studio-night .mn-fab{color:#10261a}
body.studio-night .sidebar,body.studio-night .studio-topbar,body.studio-night .fin-tabs{background:var(--s)}
body.studio-night .col{background:#11231b;border-color:var(--b)}
body.studio-night .sb-logo{background:#79d9a2;color:#10261a}
body.studio-glacier .sb-logo{background:#366aa9}
body.studio-lavender .sb-logo{background:#7656a0}
body.studio-sand .sb-logo{background:#a4613b}
body.studio-glacier .col{background:#eaf1f8;border-color:var(--b)}
body.studio-lavender .col{background:#f1eaf6;border-color:var(--b)}
body.studio-sand .col{background:#f5ede2;border-color:var(--b)}

/* A visible way back when the navigation is collapsed. */
#sbExpand{display:none!important}
.studio-expand-nav{display:none;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--b);border-radius:10px;background:var(--input-bg);color:var(--ink);font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}
.studio-expand-nav span{font-size:16px;line-height:1;color:var(--a)}
.sidebar.collapsed~.main .studio-expand-nav{display:flex}
.sidebar.collapsed~.main .studio-topbar{justify-content:flex-start}
.sidebar.collapsed~.main .studio-heading{flex:1}
@media(max-width:768px){.studio-expand-nav,.sidebar.collapsed~.main .studio-expand-nav{display:none}}

/* Plain-language guidance for investment and crypto accounting. */
.fin-explain{display:flex;align-items:flex-start;gap:12px;padding:15px 18px;margin-bottom:15px;background:var(--active-bg);border:1px solid var(--b);border-radius:13px;color:var(--ink2);font-size:12px;line-height:1.5}
.fin-explain strong{color:var(--a);font-size:13px;white-space:nowrap}
.portfolio-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px;margin-bottom:17px}
.portfolio-summary.crypto-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.portfolio-summary .fin-card{padding:17px}
.portfolio-summary .fin-card-value{font-size:22px;line-height:1.15;margin-top:10px}
.portfolio-summary .fin-card-sub{font-size:11px;line-height:1.45;margin-top:7px}
@media(max-width:1100px){.portfolio-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:768px){.portfolio-summary,.portfolio-summary.crypto-summary{grid-template-columns:1fr 1fr!important}.fin-explain{display:block}.fin-explain strong{display:block;margin-bottom:5px}}
@media(max-width:420px){.portfolio-summary,.portfolio-summary.crypto-summary{grid-template-columns:1fr!important}}

/* Dashboard layout editor */
.studio-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.studio-widget-grid>[data-widget]{min-width:0;margin:0}
.studio-widget-grid>[data-widget][hidden]{display:none!important}
.studio-widget-grid>.studio-widget-wide{grid-column:1/-1}
.studio-widget-grid .dash-section{height:auto}
.dash-money-widget{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.studio-dashboard-settings>p{font-size:12px;color:var(--ink2);margin:5px 0 15px}
#dashboardWidgetSettings{display:flex;flex-direction:column;gap:7px}
.studio-widget-setting{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;background:var(--card-bg);border:1px solid var(--card-b);border-radius:12px;cursor:grab;touch-action:pan-y}
.studio-widget-setting.dragging{opacity:.45}
.studio-widget-setting.drag-over{border-color:var(--a);background:var(--active-bg)}
.widget-drag-handle{font-size:22px;line-height:1;color:var(--ink3);cursor:grab;user-select:none}
.widget-setting-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.widget-setting-text strong{font-size:13px;color:var(--ink)}
.widget-setting-text small{font-size:11px;color:var(--ink3)}
.widget-visibility{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink2);white-space:nowrap;cursor:pointer}
.widget-visibility input{accent-color:var(--a);width:16px;height:16px}
.widget-move{display:flex;gap:3px}
.widget-move button{border:1px solid var(--b);background:var(--input-bg);color:var(--ink2);border-radius:7px;min-width:25px;height:25px;cursor:pointer}
.widget-move button:hover{background:var(--active-bg);color:var(--a)}

/* Finance: clear hierarchy and category controls */
.finance-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-radius:18px;background:linear-gradient(125deg,var(--a),var(--ah));color:#fff;margin-bottom:16px}
.finance-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;opacity:.77}
.finance-hero-value{font-size:36px;font-weight:800;letter-spacing:-.05em;line-height:1.1;margin:8px 0}
.finance-hero p{font-size:12px;opacity:.83;margin:0}
.finance-hero .btn-sec{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.28);color:#fff;white-space:nowrap}
.finance-month-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:6px}
.finance-note{font-size:11px;line-height:1.5;color:var(--ink3);margin:2px 2px 20px}
.finance-operations-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}
.finance-operations-head h3{font-size:20px;letter-spacing:-.04em;margin:0 0 4px}
.finance-operations-head p{font-size:12px;line-height:1.45;color:var(--ink2);margin:0}
.finance-operations-head .btn{white-space:nowrap}
.finance-period-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;background:var(--card-bg);border:1px solid var(--card-b);border-radius:12px;margin-bottom:15px}
.finance-period-bar>span{font-size:11px;font-weight:700;color:var(--ink2)}
.finance-period-options{display:flex;gap:3px;background:var(--input-bg);padding:3px;border-radius:9px}
.finance-operations-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}
.finance-operations-summary .fin-card{padding:17px}
.finance-operations-summary .fin-card-value{font-size:22px}
.fin-icon{display:grid;place-items:center;color:var(--a)}
.fin-icon svg,.budget-cat-icon svg{display:block}
.fin-cat-bubble svg{display:block}
.asset-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:11px}
.asset-icon-stock{background:#e6f0fa;color:#366aa9}
.asset-icon-bond{background:#eee6f6;color:#7656a0}
body.studio-night .asset-icon-stock{background:#20354b;color:#8cbbec}
body.studio-night .asset-icon-bond{background:#352945;color:#c5a2e9}
.icon-label{display:flex;align-items:center;gap:6px}
.cat-card:hover{border-color:var(--a)!important;background:var(--hover)!important}
.cat-card svg{display:block;color:var(--a)}
#catIconGrid,.icon-picker{display:flex;flex-wrap:wrap;gap:7px}
.icon-opt{width:42px;height:42px;display:grid;place-items:center;padding:0;background:var(--input-bg);color:var(--ink2);border:1px solid var(--b);border-radius:10px;cursor:pointer}
.icon-opt:hover,.icon-opt.selected{background:var(--active-bg);color:var(--a);border-color:var(--a);transform:none}

/* Consistent creation dialogs */
.modal-overlay{align-items:center;padding:22px 14px;background:rgba(12,27,21,.57)}
.modal{display:flex;flex-direction:column;max-height:min(780px,calc(100dvh - 44px));background:var(--s);border:1px solid var(--b);border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(8,35,21,.22)}
#taskModal .modal{max-width:660px}
#genericModal .modal{max-width:590px}
.modal-head{padding:21px 25px 17px;border-bottom:1px solid var(--b);background:var(--s)}
.modal-head h2{font:800 20px/1.2 Inter,-apple-system,sans-serif;letter-spacing:-.035em;color:var(--ink)}
.modal-x{width:34px;height:34px;border-radius:10px;background:var(--input-bg);color:var(--ink2);font-size:22px}
.modal-body{padding:23px 25px 25px;overflow-y:auto;min-height:0}
.modal-section-label{font-size:10px;font-weight:800;color:var(--a);letter-spacing:.11em;margin-bottom:11px}
.modal-divider{margin:18px 0;background:var(--b)}
.modal .fg{margin-bottom:15px}
.modal .fg label{font-size:11px;letter-spacing:.035em;color:var(--ink2);margin-bottom:7px}
.modal .fg input:not([type=checkbox]),.modal .fg select,.modal .fg textarea{min-height:43px;padding:10px 13px;border:1px solid var(--b);border-radius:10px;background:var(--input-bg);color:var(--ink);font-size:13px}
.modal .fg textarea{min-height:92px}
.modal .fg input:focus,.modal .fg select:focus,.modal .fg textarea:focus{border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb,var(--a) 15%,transparent)}
.modal-foot{position:sticky;bottom:-25px;padding:16px 0 0;margin-top:20px;background:var(--s);border-top:1px solid var(--b)}
.modal-foot .btn{min-height:38px;padding:8px 15px;border-radius:9px}
@media(max-width:1100px){.finance-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.studio-widget-grid{grid-template-columns:1fr}.studio-widget-grid>.studio-widget-wide{grid-column:auto}.finance-hero{padding:20px;align-items:flex-start;flex-direction:column}.finance-hero-value{font-size:29px}.finance-operations-head{align-items:flex-start;flex-direction:column}.finance-operations-summary{grid-template-columns:1fr}.finance-period-bar{align-items:flex-start;flex-direction:column}.modal-overlay{padding:10px}.modal{max-height:calc(100dvh - 20px)}.modal-head{padding:17px 18px 14px}.modal-body{padding:18px}.studio-widget-setting{gap:8px}.widget-visibility span{display:none}}
.finance-portfolio-section{margin-bottom:16px}
.finance-portfolio-section .fin-section-head span{font-size:11px;color:var(--ink3)}
.finance-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}
.finance-portfolio-grid>div{display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center;padding:14px;background:var(--input-bg);border:1px solid var(--b);border-radius:12px}
.finance-portfolio-grid .asset-icon{grid-row:1/3}
.finance-portfolio-grid small{font-size:11px;color:var(--ink2)}
.finance-portfolio-grid strong{font-size:16px;color:var(--ink);white-space:nowrap}
.asset-icon-crypto{background:#e8e3f6;color:#7656a0}
body.studio-night .asset-icon-crypto{background:#352945;color:#c5a2e9}
.finance-debt-summary{margin-bottom:16px}
.finance-debt-summary>div:last-child{display:flex;gap:24px;padding:16px;font-size:12px;color:var(--ink2)}
.finance-debt-summary strong{color:var(--ink);margin-left:6px}
@media(max-width:768px){.finance-portfolio-grid{grid-template-columns:1fr}.finance-portfolio-grid strong{white-space:normal}}
.widget-drag-handle{touch-action:none}
.modal-hint{font-size:11px;line-height:1.5;color:var(--ink2);padding:10px 12px;background:var(--active-bg);border:1px solid var(--b);border-radius:9px;margin:0 0 4px}
@media(max-width:520px){.modal .fg-row{flex-direction:column;gap:0}}

/* Product identity and creation flows */
.sb-logo{padding:0;overflow:hidden;background:transparent!important;box-shadow:0 8px 18px rgba(15,84,67,.18)}
.sb-logo img{display:block;width:100%;height:100%}
.sb-brand h1{font-size:18px;letter-spacing:-.045em}
.sb-brand p{font-size:9px;letter-spacing:0;font-weight:650}
.loader-logo{font-size:0;background:transparent!important;box-shadow:none}
.loader-logo:after{content:'';display:block;width:58px;height:58px;background:url('/icon.svg') center/contain no-repeat}
.studio-eyebrow{letter-spacing:.12em}
.fin-account-icon{display:grid;place-items:center;color:#fff}
.fin-account-icon svg{display:block}
.fin-account-estimate{font-size:10px;color:var(--a);margin-top:4px;font-weight:700}
.fin-tabs{overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.fin-tabs::-webkit-scrollbar{display:none}
.fin-tab{flex-shrink:0}
.finance-categories-intro{background:linear-gradient(125deg,#124f43,#20765e);border-radius:20px;color:#fff;padding:28px 30px;margin-bottom:18px;box-shadow:0 16px 32px rgba(12,79,59,.14)}
.finance-categories-intro>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:#b8e6cf}
.finance-categories-intro h2{font-size:27px;letter-spacing:-.05em;margin:9px 0 7px}
.finance-categories-intro p{font-size:13px;line-height:1.55;max-width:610px;opacity:.82}
.finance-category-section{background:var(--card-bg);border:1px solid var(--card-b);border-radius:18px;padding:20px;margin-bottom:17px}
.finance-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.finance-category-head h3{font-size:18px;letter-spacing:-.035em;margin:0 0 4px}
.finance-category-head p{font-size:11px;color:var(--ink2);margin:0}
.finance-category-head .btn{min-height:37px;font-size:11px}
.finance-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.finance-category-card{display:flex;align-items:center;gap:11px;text-align:left;background:var(--input-bg);border:1px solid var(--b);border-radius:13px;padding:12px;cursor:pointer;color:var(--ink);font:inherit;transition:transform .15s,border-color .15s,background .15s}
.finance-category-card:hover{transform:translateY(-2px);border-color:var(--a);background:var(--active-bg)}
.finance-category-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--cat-color) 15%,transparent);color:var(--cat-color);flex-shrink:0}
.finance-category-card strong{display:block;font-size:12px;font-weight:750}
.finance-category-card small{display:block;font-size:10px;color:var(--ink3);margin-top:3px}
.finance-category-arrow{margin-left:auto;color:var(--ink3);font-size:17px}
.cat-card>div:first-child{color:var(--a);background:var(--active-bg)!important}
.settings-category-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--active-bg);border:1px solid var(--b);border-radius:15px}
.settings-category-shortcut h3{margin:0 0 5px}
.settings-category-shortcut p{font-size:12px;color:var(--ink2);line-height:1.45}
.settings-category-shortcut .btn{flex-shrink:0}
.dashboard-layout-preview{padding:15px;background:var(--active-bg);border:1px solid var(--b);border-radius:13px;margin:0 0 15px}
.dashboard-layout-preview>span{display:block;font-size:10px;color:var(--a);font-weight:800;letter-spacing:.09em;margin-bottom:10px}
.dashboard-layout-preview>div{display:flex;flex-wrap:wrap;gap:6px}
.dashboard-layout-preview b{font-size:10px;font-weight:700;padding:6px 8px;background:var(--s);color:var(--ink);border:1px solid var(--b);border-radius:7px}
.dashboard-layout-preview em{font-size:11px;color:var(--ink2)}
.widget-order{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--active-bg);font-size:11px;font-weight:800;color:var(--a);flex-shrink:0}
.studio-widget-setting.widget-hidden{opacity:.57;background:var(--input-bg)}
.widget-drag-handle{display:grid;place-items:center;width:26px;height:28px;border-radius:7px;background:var(--input-bg);font-size:19px;letter-spacing:-.25em;padding-right:5px;color:var(--ink2)}
.widget-move button{min-width:28px;height:28px;font-size:16px}
.account-icon-picker{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-bottom:16px}
.account-icon-option{height:42px;border:1px solid var(--b);border-radius:10px;background:var(--input-bg);color:var(--ink2);display:grid;place-items:center;cursor:pointer}
.account-icon-option:hover,.account-icon-option.selected{background:var(--active-bg);border-color:var(--a);color:var(--a)}
.account-interest-preview{display:flex;flex-direction:column;gap:5px;padding:15px 17px;border-radius:13px;background:var(--active-bg);border:1px solid var(--b);margin-top:5px}
.account-interest-preview small,.account-next-interest small{font-size:11px;color:var(--a);font-weight:750}
.account-interest-preview strong,.account-next-interest strong{font-size:24px;letter-spacing:-.04em;color:var(--a)}
.account-interest-preview span{font-size:11px;line-height:1.5;color:var(--ink2)}
.account-detail-section{margin-bottom:16px}
.account-terms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:14px 16px}
.account-terms-grid>div{display:flex;flex-direction:column;gap:5px;background:var(--input-bg);padding:13px;border-radius:11px;border:1px solid var(--b)}
.account-terms-grid small{font-size:10px;color:var(--ink3)}
.account-terms-grid strong{font-size:13px;color:var(--ink)}
.account-terms-grid span{font-size:10px;color:var(--ink2)}
.account-next-interest{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 16px 16px;padding:16px;border-radius:13px;background:var(--active-bg)}
.account-next-interest>div{display:flex;flex-direction:column;gap:4px}
.account-next-interest p{font-size:10px;line-height:1.5;color:var(--ink2);margin:0}
.account-next-interest .btn{flex-shrink:0}
/* Forms should feel like focused workspaces, with a clear header and generous controls. */
.modal{border:0;border-radius:24px;box-shadow:0 38px 110px rgba(8,35,21,.3)}
.modal-head{padding:24px 27px 22px;background:linear-gradient(125deg,#144f43,#21725d);border-bottom:0;color:#fff;min-height:86px}
.modal-head h2{display:flex;align-items:center;gap:11px;font-size:22px;color:#fff;letter-spacing:-.045em}
.modal-title-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:rgba(255,255,255,.17);font-size:20px;line-height:1;color:#fff;flex-shrink:0}
.modal-title-icon svg{display:block}
.modal-x{background:rgba(255,255,255,.16);color:#fff}
.modal-x:hover{background:rgba(255,255,255,.24)}
#taskModal .modal-head h2:before{content:'✓';display:grid;place-items:center;width:37px;height:37px;background:rgba(255,255,255,.17);border-radius:11px;font-size:21px}
.modal-body{padding:24px 27px 27px;background:var(--s)}
.modal-section-label{font-size:11px;letter-spacing:.12em;margin-bottom:13px}
.modal .fg label{font-size:11px;font-weight:700;color:var(--ink2)}
.modal .fg input:not([type=checkbox]),.modal .fg select,.modal .fg textarea{min-height:46px;border-radius:11px;font-size:13px}
.modal .fg input[type=color]{padding:4px;width:70px;cursor:pointer}
.modal-foot{padding:19px 0 0;margin-top:24px}
.modal-foot .btn{min-height:42px;padding:10px 18px;font-size:12px}
#catIconGrid,.icon-picker{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px!important}
.icon-opt{width:100%;height:42px;border-radius:11px}
@media(max-width:1000px){.finance-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-terms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.finance-category-grid{grid-template-columns:1fr}.finance-category-head,.settings-category-shortcut{flex-direction:column;align-items:stretch}.account-icon-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.account-next-interest{flex-direction:column;align-items:stretch}.modal-head{padding:19px}.modal-body{padding:20px}#catIconGrid,.icon-picker{grid-template-columns:repeat(6,minmax(0,1fr))}}
.loader-logo:after{display:none}
.port-asset-icon svg{display:block;color:#fff}
.finance-market-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border:1px solid var(--b);border-radius:11px;background:var(--card-bg);margin:10px 0 8px;font-size:11px;color:var(--ink2)}
.finance-market-status .btn{font-size:11px;min-height:30px;white-space:nowrap}
@media(max-width:650px){.finance-market-status{align-items:flex-start;flex-direction:column}}
.cat-card>div:first-child{background:color-mix(in srgb,var(--cat-color) 15%,transparent)!important;color:var(--cat-color)}
.cat-card svg{color:currentColor}
.sr-del[data-ecid="cat_e_inv"],.sr-del[data-ecid="cat_e_crypto"],.sr-del[data-icid="cat_i_inv"],.sr-del[data-icid="cat_i_crypto"],.sr-del[data-icid="cat_div"],.sr-del[data-icid="cat_coup"]{display:none!important}

/* Direct dashboard customization */
.studio-settings-page{max-width:980px;margin:0 auto}
.settings-finance-categories{margin:24px 0}
.settings-finance-categories .finance-categories-intro{margin-bottom:18px}
.dashboard-customize-btn{border:1px solid var(--b);font:inherit;cursor:pointer}
.dashboard-customize-btn.active{background:var(--a);border-color:var(--a);color:#fff}
.dashboard-edit-panel{display:flex;flex-direction:column;gap:14px;margin:0 0 18px;padding:18px 20px;border:1px solid var(--a);border-radius:18px;background:var(--active-bg)}
.dashboard-edit-panel strong{display:block;font-size:16px;margin-bottom:4px}
.dashboard-edit-panel span{font-size:12px;color:var(--ink2)}
.dashboard-widget-visibility{display:flex;flex-wrap:wrap;gap:8px}
.dashboard-widget-visibility label{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--b);border-radius:999px;background:var(--card-bg);cursor:pointer}
.dashboard-widget-visibility input{accent-color:var(--a)}
.dashboard-widget-visibility label span{color:var(--ink);font-weight:600}
.dashboard-editing>[data-widget]{position:relative;outline:2px dashed color-mix(in srgb,var(--a) 40%,transparent);outline-offset:2px;border-radius:13px;transition:transform .15s,outline-color .15s}
.dashboard-editing>[data-widget]:hover{outline-color:var(--a)}
.dashboard-editing>.dashboard-dragging{opacity:.56;outline-color:var(--a);z-index:2}
.dashboard-drag-handle{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 11px;margin-bottom:8px;border-radius:10px;background:var(--active-bg);color:var(--ink);font-size:12px;font-weight:700;cursor:grab;user-select:none;touch-action:none}
.dashboard-drag-handle:active{cursor:grabbing}
.dashboard-drag-handle small{margin-left:auto;color:var(--ink3);font-size:10px;font-weight:500}
.dashboard-grip{font-size:17px;line-height:1;color:var(--a)}
.tx-type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 4px}
.tx-type-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:82px;border:1px solid var(--b);border-radius:14px;background:var(--input-bg);color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.tx-type-option:hover{transform:translateY(-2px);border-color:var(--a)}
.tx-type-option.selected{background:var(--active-bg);border:2px solid var(--a);color:var(--a)}
.tx-type-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--a)}
.tx-type-icon svg{width:23px;height:23px}
.fin-account-name,.fin-account-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-account-bal{max-width:43%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:640px){.studio-settings-page{width:100%}.fin-accounts{grid-template-columns:1fr}.fin-account{gap:10px;padding:12px}.fin-account-bal{font-size:14px}.dashboard-edit-panel{padding:14px}.dashboard-drag-handle small{display:none}}
.dashboard-editing>[data-widget="stats"]{padding-top:42px}
.dashboard-editing>[data-widget="stats"]>.dashboard-drag-handle{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;margin:0}
.dashboard-empty-widget{min-height:110px}
.dashboard-empty-widget p{margin:0;padding:0 20px 18px;color:var(--ink3);font-size:12px}
.fin-accounts>.fin-account{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:center}
.fin-accounts>.fin-account .fin-account-icon{grid-column:1;grid-row:1/3}
.fin-accounts>.fin-account .fin-account-info{grid-column:2;grid-row:1;min-width:0}
.fin-accounts>.fin-account .fin-account-bal{grid-column:2;grid-row:2;max-width:none;text-align:left;font-size:14px;overflow:visible}

/* Home: complete and readable financial cards */
.studio-widget-grid>.dash-grid{min-width:0;grid-template-columns:repeat(5,minmax(0,1fr))!important}
.studio-widget-grid .dash-card{min-width:0}
.studio-widget-grid .dash-card-value{font-size:clamp(17px,2vw,27px);overflow-wrap:anywhere;line-height:1.15}
.dashboard-accounts .dash-section-head small{display:block;margin-top:4px;color:var(--ink3);font-size:11px;font-weight:500}
.dashboard-account-list{display:grid;gap:9px;padding:14px;max-height:400px;overflow:auto}
.dashboard-account-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 11px;align-items:center;padding:12px;border:1px solid var(--b);border-radius:13px;background:var(--input-bg)}
.dashboard-account-icon{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff}
.dashboard-account-main{display:flex;flex-direction:column;min-width:0;gap:2px}
.dashboard-account-main strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-account-main small{font-size:11px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-account-balance{grid-column:2;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:5px;overflow-wrap:anywhere}
.dashboard-transaction{cursor:default!important}
.dashboard-transaction-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:color-mix(in srgb,var(--tx-color) 15%,transparent);color:var(--tx-color)}
.dashboard-transaction-amount{margin-left:auto;text-align:right;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:44%}
.dashboard-transaction-amount.expense{color:#c94848}.dashboard-transaction-amount.income{color:#168b65}.dashboard-transaction-amount.transfer{color:var(--ink2)}
.studio-widget-grid .dash-task-item{min-width:0}

/* Calendar: visible tasks and gentle department color */
.cal-view{display:flex;flex-direction:column;min-height:0}
.cal-header{padding:4px 0 12px}
.cal-department-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;color:var(--ink2);font-size:11px}
.cal-department-legend strong{font-weight:700;margin-right:3px}
.cal-department-legend span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--b);border-radius:999px;background:var(--card-bg)}
.cal-department-legend i{width:8px;height:8px;border-radius:50%;background:var(--dept-color)}
.cal-month-block{padding-bottom:25px}
.cal-month-block>div:first-child{font-size:20px!important;font-weight:750!important;letter-spacing:-.03em!important;padding:12px 3px!important}
.cal-grid{gap:5px;background:transparent;border:0;overflow:visible}
.cal-day-header{background:transparent;padding:7px 4px;color:var(--ink2)}
.cal-day{height:122px;padding:8px;border:1px solid var(--b);border-radius:13px;background:var(--card-bg);box-shadow:var(--shadow)}
.cal-day.has-department{background:color-mix(in srgb,var(--day-color) 9%,var(--card-bg));border-color:color-mix(in srgb,var(--day-color) 24%,var(--b))}
.cal-day.has-department:hover{background:color-mix(in srgb,var(--day-color) 16%,var(--card-bg))}
.cal-day.today{border-color:var(--a)}
.cal-day.other{opacity:.48;box-shadow:none}
.cal-day-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.cal-day-num{font-size:13px;font-weight:800;width:26px;height:26px}
.cal-day.today .cal-day-num{width:26px;height:26px}
.cal-day-count{font-size:10px;font-weight:700;color:var(--ink2);background:var(--card-bg);padding:2px 5px;border-radius:7px}
.cal-tasks{gap:4px;min-height:0;margin:0}
.cal-task-pill{height:auto;min-height:18px;padding:2px 5px;border-radius:5px;background:color-mix(in srgb,var(--task-color) 13%,var(--card-bg));color:var(--ink);font-size:10px;font-weight:650;line-height:1.25;flex-shrink:0}
.cal-task-pill>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-task-dot{width:6px;height:6px;background:var(--task-color)}
.cal-task-pill.overdue{color:#ba4040}
.cal-extra{font-size:10px;height:auto;padding-left:3px}
.cal-day-panel{width:min(430px,100vw);z-index:600}
.cal-day-panel-head{padding:23px 24px}
.cal-day-panel-head h3{font-size:19px;letter-spacing:-.03em}
.cal-day-panel-body{padding:22px}
.cal-day-task{border:1px solid color-mix(in srgb,var(--task-color) 27%,var(--b));border-left:4px solid var(--task-color);background:color-mix(in srgb,var(--task-color) 7%,var(--card-bg));border-radius:13px;padding:14px;margin-bottom:9px}
.cal-day-task:hover{background:color-mix(in srgb,var(--task-color) 13%,var(--card-bg))}
.cal-day-task-title{font-weight:700;line-height:1.35}
.cal-dept-badge{background:color-mix(in srgb,var(--task-color) 16%,var(--card-bg));color:var(--task-color);font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px}
.cal-day-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.cal-day-add{justify-content:center;border-radius:10px;border-style:solid;color:var(--ink2)}
.cal-day-add-primary{background:var(--a);border-color:var(--a);color:#fff;font-weight:700}
.cal-day-add-primary:hover{background:var(--ah);color:#fff}

/* Task creation and editing */
.task-editor-modal{width:min(860px,calc(100vw - 28px));max-width:860px!important;max-height:calc(100dvh - 36px)!important;display:flex;flex-direction:column;overflow:hidden}
.task-editor-head{padding:22px 27px;background:linear-gradient(120deg,#174d49,#35699d);color:#fff}
.task-editor-head h2{font-size:24px;margin:3px 0 2px}
.task-editor-head p{font-size:11px;opacity:.8;margin:0}
.task-editor-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:750;opacity:.72}
.task-editor-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);gap:24px;padding:24px 27px;overflow:auto;min-height:0}
.task-editor-main,.task-editor-side{min-width:0}
.task-editor-side{padding:17px;border:1px solid var(--b);border-radius:15px;background:var(--input-bg);align-self:start}
.task-editor-side-title{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink2);font-weight:750;margin-bottom:14px}
.task-editor-side .fg{margin-bottom:15px}
.task-title-field input{font-size:18px!important;font-weight:700;min-height:49px}
.task-rich-toolbar{display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--b);border-bottom:0;border-radius:11px 11px 0 0;background:var(--input-bg)}
.task-rich-toolbar button{min-width:29px;height:29px;padding:0 6px;border:0;border-radius:6px;background:transparent;color:var(--ink2);font:inherit;font-size:13px;cursor:pointer}
.task-rich-toolbar button:hover{background:var(--active-bg);color:var(--a)}
.task-rich-toolbar span{height:18px;border-left:1px solid var(--b);margin:0 4px}
.task-rich-editor{min-height:180px;max-height:360px;overflow:auto;padding:13px 15px;border:1px solid var(--b);border-radius:0 0 11px 11px;background:var(--card-bg);outline:none;font-size:14px;line-height:1.55;color:var(--ink)}
.task-rich-editor:focus{border-color:var(--a)}
.task-rich-editor:empty:before{content:attr(data-placeholder);color:var(--ink3);pointer-events:none}
.task-rich-editor ul,.task-rich-editor ol{padding-left:20px}
.task-rich-editor p,.task-rich-editor div{margin-bottom:5px}
.task-editor-checklist{margin-top:22px;padding:16px;border:1px solid var(--b);border-radius:13px;background:var(--card-bg)}
.task-editor-checklist .cl-head{margin-bottom:12px}
.task-editor-foot{flex-shrink:0;padding:15px 26px;border-top:1px solid var(--b);background:var(--card-bg)}
.task-recurring{border-top:1px solid var(--b);padding-top:13px;font-size:12px;color:var(--ink2)}
.task-recurring>label{display:flex;gap:7px;align-items:center;cursor:pointer}
.task-recurring input[type=checkbox]{accent-color:var(--a)}
.task-recurring #recurringOptions{padding:12px 0 0}
.task-inline-add{border:0;background:transparent;color:var(--a);font-size:11px;font-weight:700;cursor:pointer;padding:7px 0}
.task-dept-inline{display:flex;gap:5px;margin-top:5px}
.task-dept-inline[hidden],.board-dept-popover[hidden]{display:none!important}
.task-dept-inline input[type=text]{min-width:0;flex:1}
.task-dept-inline input[type=color]{width:36px;min-width:36px;padding:2px}
.task-dept-inline button,.board-dept-popover button{border:0;border-radius:8px;background:var(--a);color:#fff;font-size:11px;font-weight:700;cursor:pointer;padding:0 9px}
.board-add-dept{border:1px solid var(--b);border-radius:9px;background:var(--card-bg);color:var(--a);padding:8px 11px;font-size:11px;font-weight:700;cursor:pointer}
.board-dept-popover{position:absolute;top:calc(100% - 4px);left:200px;z-index:50;width:min(330px,calc(100vw - 40px));padding:13px;border:1px solid var(--b);border-radius:12px;background:var(--card-bg);box-shadow:var(--shadow-md)}
.board-dept-popover strong{display:block;font-size:12px;margin-bottom:8px}
.board-dept-popover>div{display:flex;gap:5px}.board-dept-popover input[type=text]{min-width:0;flex:1;padding:7px;border:1px solid var(--b);border-radius:7px}.board-dept-popover input[type=color]{width:34px;min-width:34px;padding:2px}
.filters-bar{position:relative}

/* Task details */
.detail-panel{width:min(540px,100vw);max-width:100vw}
.detail-head{padding:20px 25px}
.detail-body{padding:24px}
.task-detail-hero{padding:24px;border-radius:18px;background:color-mix(in srgb,var(--task-color) 14%,var(--card-bg));border:1px solid color-mix(in srgb,var(--task-color) 28%,var(--b));margin-bottom:20px}
.task-detail-kicker{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--task-color);margin-bottom:10px}
.task-detail-hero h2{font-size:24px;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}
.task-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}
.task-detail-tags span{padding:5px 9px;border-radius:999px;background:var(--card-bg);font-size:11px;font-weight:700;color:var(--ink2)}
.task-detail-section{padding:18px 0;border-bottom:1px solid var(--b)}
.task-detail-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.task-detail-section-head h3{font-size:14px}.task-detail-section-head span{font-size:11px;color:var(--ink3)}
.task-detail-section-head button{border:0;background:transparent;color:var(--a);font-size:12px;font-weight:700;cursor:pointer}
.task-detail-description{font-size:14px;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}
.task-detail-description.empty,.task-detail-muted{font-size:13px;color:var(--ink3)}
.task-detail-description ul,.task-detail-description ol{padding-left:21px}.task-detail-description p{margin-bottom:8px}
.task-detail-progress{height:6px;background:var(--b);border-radius:5px;overflow:hidden;margin-bottom:12px}.task-detail-progress span{display:block;height:100%;background:var(--a)}
.task-detail-check{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:13px}.task-detail-check>span{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--b);border-radius:6px;flex-shrink:0;color:#fff}.task-detail-check.done>span{background:var(--a);border-color:var(--a)}.task-detail-check.done{text-decoration:line-through;color:var(--ink3)}
.task-detail-footer{padding-top:20px}.task-detail-footer .btn{width:100%;justify-content:center}
@media(max-width:900px){.studio-widget-grid>.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.studio-widget-grid>.dash-grid .dash-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.cal-grid{gap:3px}.cal-day{height:106px;padding:4px}.cal-task-pill{font-size:9px;padding:2px 3px}.cal-day-count{display:none}.task-editor-modal{width:calc(100vw - 16px)}.task-editor-body{grid-template-columns:1fr;gap:15px;padding:16px}.task-editor-head{padding:17px}.task-editor-foot{padding:12px 16px}.board-dept-popover{left:8px}}
@media(max-width:520px){.cal-view{padding:11px}.cal-day{height:83px}.cal-task-pill{min-height:14px;font-size:8px}.cal-task-pill:nth-child(n+3){display:none}.cal-day-num{font-size:11px}.cal-department-legend{gap:4px}.cal-department-legend span{padding:4px 6px}.studio-widget-grid>.dash-grid{grid-template-columns:1fr!important}.studio-widget-grid>.dash-grid .dash-card:last-child{grid-column:auto}.dashboard-account-list{padding:10px}}
.cal-task-pill{white-space:normal;align-items:flex-start}
.cal-task-pill .cal-task-dot{margin-top:4px}
.cal-task-pill>span:last-child{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}
/* Compact calendar-only option and completed tasks */
#calOnlyRow>label{display:flex;align-items:center;gap:9px;margin:0;font-size:12px;line-height:1.35;text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer}
#calOnlyRow #calOnlyCheck{appearance:auto;width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px;flex:0 0 18px;margin:0;padding:0;border:0;border-radius:4px;accent-color:var(--a);box-shadow:none}
.dash-task-item.done .dash-task-title{text-decoration:line-through;color:var(--ink3)}
.dash-task-item.done .dash-task-meta{color:#168b65}
