.app-shell{min-height:100vh;display:grid;grid-template-columns:264px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);border-right:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 25px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);color:var(--panel);display:grid;place-items:center;font:600 22px var(--serif)}.brand div,.sidebar-footer div{display:flex;flex-direction:column}.brand small,.sidebar-footer small{color:var(--muted);font-size:10px;letter-spacing:.06em}.brand .mobile-close{margin-left:auto}.new-note{height:45px;border:0;border-radius:12px;background:var(--ink);color:var(--panel);font-weight:600;text-align:left;padding:0 14px;display:flex;align-items:center;gap:9px;box-shadow:0 6px 18px rgba(0,0,0,.1)}.new-note kbd{margin-left:auto;color:inherit;background:transparent;border-color:#ffffff40}.nav-stack{margin-top:23px;display:grid;gap:4px}.nav-item,.project-item{width:100%;border:0;background:transparent;border-radius:9px;padding:10px 11px;display:flex;align-items:center;gap:11px;text-align:left;color:var(--muted)}.nav-item:hover,.project-item:hover,.nav-item.active,.project-item.active{background:var(--panel);color:var(--ink)}.nav-item b,.project-item b{margin-left:auto;font-size:11px;color:var(--muted);font-weight:500}.section-heading{padding:25px 9px 7px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--muted)}.icon-button{border:0;background:transparent;min-width:31px;height:31px;border-radius:8px}.icon-button:hover,.icon-button.selected{background:var(--panel)}.project-dot{width:9px;height:9px;border-radius:3px}.project-list{display:grid;gap:3px;overflow-y:auto}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:17px 6px 0;display:flex;gap:9px;align-items:center}.sidebar-footer .icon-button{margin-left:auto}.avatar{width:32px;height:32px!important;border-radius:50%;background:#ded1c3;display:grid!important;place-items:center;font-size:11px}.main-content{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 4vw;background:color-mix(in srgb,var(--bg) 88%,transparent);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.search{height:40px;max-width:540px;flex:1;background:var(--panel);border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:9px;padding:0 12px}.search input{border:0;outline:0;background:transparent;min-width:0;flex:1}.ghost-button,.primary-button{height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-weight:600}.primary-button{background:var(--ink);color:var(--panel);border-color:var(--ink)}.workspace{max-width:1320px;margin:auto;padding:54px 5vw 90px}.welcome-row{display:flex;justify-content:space-between;align-items:flex-end}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:700;margin:0 0 9px}.welcome-row h1{font:600 clamp(32px,4vw,50px)/1 var(--serif);margin:0}.welcome-row>div>p:last-child{color:var(--muted);margin:13px 0 0}.round-add{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--panel);font-size:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:35px 0 48px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:17px 19px}.stat-card small{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.stat-card strong{font:600 28px var(--serif)}.content-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.content-heading h2{font-size:15px;margin:0 0 3px}.content-heading span{color:var(--muted);font-size:11px}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.note-card{min-height:215px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:21px;display:flex;flex-direction:column;transition:.2s;cursor:pointer;position:relative;overflow:hidden}.note-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:transparent}.note-card::before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--project-color)}.note-top{display:flex;justify-content:space-between;align-items:center}.project-pill{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--project-color)}.pin{color:#c29c3c}.note-card h3{font:600 21px/1.2 var(--serif);margin:19px 0 10px}.note-preview{color:var(--muted);line-height:1.65;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-bottom{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.priority{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.priority-high{background:#ef4444}.priority-medium{background:#eab308}.priority-low{background:#22c55e}.empty-state{text-align:center;padding:80px 20px;color:var(--muted)}.empty-state>div{font-size:38px}.empty-state h3{color:var(--ink);font:600 25px var(--serif);margin:15px 0 5px}.empty-state .primary-button{margin-top:12px}.note-dialog,.project-dialog{border:0;padding:0;border-radius:20px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.note-dialog{width:min(850px,94vw);height:min(790px,92vh)}.note-dialog::backdrop,.project-dialog::backdrop{background:#22241f99;backdrop-filter:blur(5px)}.note-dialog form{height:100%;display:flex;flex-direction:column}.dialog-toolbar{padding:17px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.dialog-toolbar select,.note-meta-form select,.note-meta-form input{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 9px}.note-title-input{border:0;background:transparent;outline:0;padding:35px 42px 10px;font:600 34px var(--serif)}.note-content-input{flex:1;resize:none;border:0;outline:0;background:transparent;padding:12px 42px;font:15px/1.8 var(--font);min-height:240px}.note-meta-form{border-top:1px solid var(--line);padding:16px 42px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.note-meta-form label,.project-dialog label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.dialog-footer{border-top:1px solid var(--line);padding:16px 23px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.dialog-footer div{display:flex;gap:8px}.danger-hover:hover{background:#fee2e2;color:#b91c1c}.pin-button.active{background:#fff7d6;color:#b78a16}.project-dialog{width:min(500px,92vw)}.project-dialog form{padding:28px;display:grid;gap:18px}.modal-heading{display:flex;justify-content:space-between}.modal-heading h2{font:600 30px var(--serif);margin:0}.project-dialog input:not([type=color]),.project-dialog textarea{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.project-dialog textarea{min-height:90px;resize:vertical}.project-dialog input[type=color]{width:70px;height:38px;border:0;background:transparent}.project-dialog .dialog-footer{margin:5px -28px -28px;padding:17px 28px}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:var(--panel);padding:12px 17px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.25s;z-index:99}.toast.show{transform:none;opacity:1}.mobile-menu,.mobile-close{display:none}
@media(max-width:1000px){.notes-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;width:264px;transition:.25s;box-shadow:var(--shadow)}.sidebar.open{left:0}.mobile-menu,.mobile-close{display:block}.topbar{padding:0 14px}.topbar>.ghost-button{display:none}.search kbd{display:none}.workspace{padding:35px 16px 70px}.notes-grid{grid-template-columns:1fr}.stats{margin:28px 0 35px;gap:8px}.stat-card{padding:14px}.note-meta-form{grid-template-columns:1fr;padding:14px 22px}.note-title-input{padding:25px 22px 8px;font-size:28px}.note-content-input{padding:12px 22px}.welcome-row h1{font-size:36px}}

/* Icon, Vietnamese typography and installable mobile app refinements */
.app-shell{min-height:100dvh}.sidebar{height:100dvh}.icon-button,.round-add{display:inline-grid;place-items:center}.new-note svg,.ghost-button svg,.primary-button svg{width:17px;height:17px}.ghost-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.search>svg{color:var(--muted)}.nav-item>svg{width:17px;height:17px}.brand-mark,.welcome-row h1,.stat-card strong,.note-card h3,.empty-state h3,.note-title-input,.modal-heading h2{font-family:var(--serif);letter-spacing:-.025em}.empty-state>svg{width:42px;height:42px;margin:auto}.pin svg{width:15px;height:15px;fill:currentColor}.note-title-input{font-weight:650}.note-content-input{font-size:16px}.sidebar,.topbar{padding-top:env(safe-area-inset-top)}.toast{bottom:calc(24px + env(safe-area-inset-bottom))}
@media(max-width:720px){body{overscroll-behavior-y:none}.sidebar{padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom))}.topbar{height:calc(62px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:7px}.topbar .primary-button{width:42px;padding:0;font-size:0}.topbar .primary-button svg{width:20px;height:20px}.search{height:42px}.search input{font-size:16px}.workspace{padding:28px max(16px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.welcome-row{align-items:center}.welcome-row h1{font-size:32px;line-height:1.08}.welcome-row>div>p:last-child{font-size:13px;line-height:1.5}.round-add{width:44px;height:44px;flex:0 0 44px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:auto}.stat-card{min-width:76px;padding:12px 10px}.stat-card strong{font-size:23px}.note-card{min-height:190px;padding:18px}.note-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;margin:0}.dialog-toolbar{padding:calc(10px + env(safe-area-inset-top)) 14px 10px}.dialog-toolbar select{max-width:48vw}.note-title-input{padding:22px 18px 7px;font-size:27px}.note-content-input{padding:10px 18px;line-height:1.65}.note-meta-form{padding:12px 18px;grid-template-columns:repeat(2,1fr);max-height:190px;overflow:auto}.note-meta-form label:last-child{grid-column:1/-1}.dialog-footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.dialog-footer>#save-status{display:none}.project-dialog{width:calc(100vw - 24px)}.toast{left:16px;right:16px;text-align:center}}

/* Content spacing after removing the global summary from project views */
.content-heading{margin-top:46px}

/* Project finance overview */
.project-finance{margin-top:38px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.project-finance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.project-finance-heading .eyebrow{margin-bottom:5px}.project-finance-heading h2{font-family:var(--serif);font-size:22px;letter-spacing:-.02em;margin:0}.project-finance-heading p:last-child{color:var(--muted);font-size:12px;margin:6px 0 0}.project-finance-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.project-finance-totals>div{padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:11px}.project-finance-totals small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.project-finance-totals strong{font-size:18px}.project-finance-totals .balance{background:var(--ink);border-color:var(--ink);color:var(--panel)}.project-finance-totals .balance small{color:color-mix(in srgb,var(--panel) 68%,transparent)}.project-finance-list{margin-top:14px;border:1px solid var(--line);border-radius:11px;overflow:hidden}.project-finance-row{width:100%;display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;text-align:left;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:var(--panel)}.project-finance-row:last-child{border-bottom:0}.project-finance-row:hover{background:var(--bg)}.finance-kind{font-size:10px;font-weight:700;text-align:center;padding:5px;border-radius:6px}.finance-kind.income{color:#087a55;background:#dcfce7}.finance-kind.expense{color:#b42318;background:#fee4e2}.finance-row-copy{display:flex;flex-direction:column;min-width:0}.finance-row-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-row-copy small{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.project-finance-row>b{font-size:12px;white-space:nowrap}.project-finance-row>b.income{color:#087a55}.project-finance-row>b.expense{color:#b42318}.project-finance-empty{padding:22px;text-align:center;color:var(--muted);font-size:12px}

/* Simplified inline project finance */
.finance-page-hidden{display:none!important}.project-finance{padding:0;border:0;border-radius:0;background:transparent}.project-finance.finance-page{margin-top:30px}.project-finance-totals>div{border:0}.project-finance-list{border:0;border-radius:0}.project-finance-row{padding:12px 4px;border-bottom:1px solid var(--line);background:transparent}.project-finance-row:hover{background:color-mix(in srgb,var(--panel) 55%,transparent)}.quick-finance-form{display:grid;grid-template-columns:90px minmax(150px,1.2fr) minmax(150px,1fr) 75px 145px auto;gap:8px;align-items:center;margin-top:18px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-finance-form input,.quick-finance-form select{width:100%;height:40px;padding:0 10px;border:0;border-radius:8px;background:var(--panel);outline:0}.quick-finance-form input:focus,.quick-finance-form select:focus{box-shadow:0 0 0 2px var(--primary-soft)}.project-finance-all{display:block;padding:13px 4px 0;color:var(--primary);font-size:12px;font-weight:600;text-decoration:none}.project-finance-all:hover{text-decoration:underline}
@media(max-width:720px){.project-finance{padding:0}.quick-finance-form{grid-template-columns:80px 1fr;gap:7px}.quick-finance-form input,.quick-finance-form select{font-size:16px}.quick-finance-form [name=short_note]{grid-column:1/-1}.quick-finance-form [name=quantity]{grid-column:1}.quick-finance-form [name=unit_price]{grid-column:2}.quick-finance-form button{grid-column:1/-1}.project-finance-row{padding-left:0;padding-right:0}}

/* Glacier Light application shell */
body{background:radial-gradient(circle at 68% 5%,rgba(125,211,252,.10),transparent 34%),var(--bg)}
.app-shell{grid-template-columns:272px minmax(0,1fr)}
.sidebar{width:272px;padding:28px 20px 20px;background:var(--sidebar);border-right:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.brand{padding:0 8px 30px;gap:14px}.brand-mark{width:46px;height:46px;border-radius:12px;background:var(--primary);color:#fff;font-size:24px}.brand strong{color:var(--primary);font-size:19px;letter-spacing:-.03em}.brand small{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}
.new-note{height:48px;border-radius:10px;background:var(--ice);color:#004d66;box-shadow:none;font-family:var(--mono);letter-spacing:.02em;justify-content:center}.new-note kbd{display:none}
.nav-stack{margin-top:22px}.nav-item,.project-item{min-height:44px;border-radius:9px;padding:11px 13px;color:var(--muted);font-weight:550}.nav-item.active,.project-item.active{background:rgba(125,211,252,.25);color:var(--primary);font-weight:700}.nav-item:hover,.project-item:hover{background:rgba(255,255,255,.68);color:var(--primary)}.project-dot{border-radius:50%}
.section-heading{font-family:var(--mono);color:var(--primary);padding-top:28px}.sidebar-footer{border-top:1px solid var(--line)}
.topbar{height:72px;padding:0 36px;background:rgba(248,249,255,.72);border-bottom:1px solid rgba(255,255,255,.9);backdrop-filter:blur(16px)}
.search{height:44px;max-width:420px;border:1px solid #dce5ef;background:rgba(255,255,255,.56);border-radius:12px;backdrop-filter:blur(8px)}.search:focus-within{border-color:var(--ice);box-shadow:0 0 0 3px rgba(125,211,252,.14)}
.primary-button{background:var(--primary);border-color:var(--primary);color:#fff;border-radius:8px;font-family:var(--mono);font-size:12px}.topbar>.primary-button{background:var(--ice);border-color:var(--ice);color:#004d66}.ghost-button{background:rgba(255,255,255,.55);border-color:var(--ice);color:var(--primary);border-radius:8px;font-family:var(--mono);font-size:12px}
.workspace{max-width:1440px;padding:46px 42px 100px}.welcome-row{align-items:center}.welcome-row h1{font-size:48px;line-height:1.05;color:var(--ink);letter-spacing:-.04em}.eyebrow{font-family:var(--mono);color:var(--primary);letter-spacing:.1em}.round-add{border:1px solid var(--ice);color:var(--primary);border-radius:9px;background:rgba(255,255,255,.55)}
.project-finance{margin-top:30px}.project-finance-heading h2{font-size:24px;letter-spacing:-.03em}.project-finance-heading .eyebrow{display:none}.finance-bento{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:16px;margin-top:20px}.finance-balance-card,.project-finance-totals>div,.note-card,.project-dialog,.note-dialog{background:var(--panel);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow)}.finance-balance-card{position:relative;min-height:278px;border-radius:12px;padding:26px;overflow:hidden}.finance-balance-card small,.project-finance-totals small{font-family:var(--mono);letter-spacing:.1em}.finance-balance-card strong{display:block;font-size:42px;letter-spacing:-.04em;margin-top:10px}.balance-chart{position:absolute;left:0;right:0;bottom:0;width:100%;height:155px;stroke-linecap:round;stroke-linejoin:round}.project-finance-totals{display:grid;grid-template-columns:1fr;gap:16px;margin:0}.project-finance-totals>div{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:12px;padding:18px}.project-finance-totals>div strong{font-size:25px}.project-finance-totals .balance{display:none}.project-finance-totals>div:first-child strong{color:var(--green)}.project-finance-totals>div:nth-child(2) strong{color:var(--red)}
.quick-finance-form{padding:10px;margin-top:16px;border:1px solid rgba(255,255,255,.9);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.quick-finance-form input,.quick-finance-form select{background:rgba(255,255,255,.62);border:1px solid #e5edf5;border-radius:7px}.quick-finance-form button{height:40px}
.project-finance-list{margin-top:16px;padding:16px 22px;background:var(--panel);border:1px solid rgba(255,255,255,.9);border-radius:12px;box-shadow:var(--shadow)}.project-finance-row{padding:15px 6px}.finance-kind{font-family:var(--mono)}.finance-kind.income{background:#d7faea;color:#087a55}.finance-kind.expense{background:#ffe3e5;color:#a91d27}.finance-row-copy strong{font-size:14px}.finance-row-copy small{font-size:12px}.project-finance-row>b{font-size:14px}
.content-heading{margin-top:44px}.content-heading h2{font-size:19px;letter-spacing:-.02em}.notes-grid{gap:16px}.note-card{border-radius:12px;min-height:220px}.note-card::before{width:3px}.note-card:hover{box-shadow:0 14px 34px rgba(125,211,252,.18)}.project-pill,.note-bottom{font-family:var(--mono)}.note-card h3{font-size:20px}.empty-state{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state>svg{color:var(--primary);padding:16px;width:82px;height:82px;border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}
.note-dialog,.project-dialog{border-radius:12px}.note-type-switch{background:var(--primary-soft)}
@media(max-width:1050px){.workspace{padding-left:28px;padding-right:28px}.finance-bento{grid-template-columns:1fr}.project-finance-totals{grid-template-columns:1fr 1fr}.finance-balance-card{min-height:235px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{width:min(86vw,300px)}.topbar{height:calc(64px + env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.workspace{padding:30px max(16px,env(safe-area-inset-right)) 90px max(16px,env(safe-area-inset-left))}.welcome-row h1{font-size:34px}.welcome-row>div>p:last-child{margin-top:7px}.finance-bento{gap:10px}.finance-balance-card{min-height:205px;padding:18px}.finance-balance-card strong{font-size:31px}.balance-chart{height:115px}.project-finance-totals{gap:8px}.project-finance-totals>div{padding:13px}.project-finance-totals>div strong{font-size:17px}.quick-finance-form{padding:10px}.project-finance-list{padding:8px 12px}.notes-grid{grid-template-columns:1fr}.note-card{min-height:190px}.topbar>.ghost-button{display:none}}

/* Finance note */
.editable-project-title{display:flex;align-items:center;gap:12px}.editable-project-title .icon-button{border:1px solid var(--ice);color:var(--primary);background:rgba(255,255,255,.55)}.project-menu-row{display:flex;align-items:center;border-radius:9px}.project-menu-row .project-item{min-width:0;flex:1}.project-delete{flex:0 0 32px;color:var(--muted);opacity:0}.project-menu-row:hover .project-delete,.project-menu-row.active .project-delete{opacity:1}.project-delete:hover{color:var(--red);background:#ffe3e5}.finance-bento{display:block}.project-finance-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-finance-totals .balance{display:flex;background:var(--panel);border-color:rgba(255,255,255,.88);color:var(--ink)}.project-finance-totals .balance small{color:var(--muted)}.project-finance-totals .balance strong{color:var(--primary)}.project-finance-row{grid-template-columns:52px minmax(0,1fr) auto auto}.finance-row-actions{display:flex;gap:3px;margin-left:8px}.finance-row-actions .icon-button{display:inline-grid;place-items:center}.finance-row-actions svg{width:15px;height:15px}
@media(max-width:720px){.project-delete{opacity:1}.project-finance-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.project-finance-row{grid-template-columns:44px minmax(0,1fr) auto}.finance-row-actions{grid-column:2/-1;justify-content:flex-end}.editable-project-title h1{min-width:0}}
.finance-table{min-width:900px}.finance-table th:nth-child(3){width:210px}.finance-table th:nth-child(4){width:75px}.finance-table th:nth-child(5){width:145px}.finance-table th:nth-child(6){width:130px}.finance-table th:nth-child(7){width:42px}
.note-type-switch{display:flex;gap:4px;margin:8px 42px 4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:10px;width:max-content}.note-type-switch button{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:7px 13px;font-size:12px;font-weight:600}.note-type-switch button.active{background:var(--panel);color:var(--ink);box-shadow:0 2px 7px rgba(0,0,0,.08)}.finance-editor{flex:1;min-height:0;padding:12px 42px 20px;overflow:auto}.finance-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.finance-intro>div{display:flex;flex-direction:column;gap:3px}.finance-intro small{color:var(--muted);font-size:11px}.finance-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}.finance-table{width:100%;min-width:680px;border-collapse:collapse;background:var(--panel)}.finance-table th{padding:10px;text-align:left;color:var(--muted);font-size:10px;letter-spacing:.05em;background:var(--bg)}.finance-table td{padding:6px;border-top:1px solid var(--line)}.finance-table th:nth-child(1){width:90px}.finance-table th:nth-child(3){width:75px}.finance-table th:nth-child(4){width:145px}.finance-table th:nth-child(5){width:130px}.finance-table th:last-child{width:42px}.finance-table input,.finance-table select{width:100%;border:0;background:transparent;padding:8px;outline:0;border-radius:6px}.finance-table input:focus,.finance-table select:focus{background:var(--bg)}.row-amount{text-align:right;white-space:nowrap;font-weight:600;font-size:12px}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.finance-summary>div{border:1px solid var(--line);border-radius:10px;padding:11px}.finance-summary small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.finance-summary strong{font-size:15px}.finance-summary .balance{background:var(--ink);color:var(--panel);border-color:var(--ink)}.finance-summary .balance small{color:color-mix(in srgb,var(--panel) 70%,transparent)}.finance-preview{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:2px 0 12px}.finance-preview span{display:flex;flex-direction:column;color:var(--muted);font-size:10px}.finance-preview span b{color:var(--ink);font-size:13px;margin-top:2px}.finance-preview>strong{grid-column:1/-1;padding:9px;border-radius:8px;background:var(--bg);font-size:16px}.finance-card::after{content:"";position:absolute;right:-28px;top:-28px;width:80px;height:80px;border-radius:50%;background:color-mix(in srgb,var(--project-color) 10%,transparent)}
@media(max-width:720px){.project-finance{margin-top:26px;padding:16px}.project-finance-heading{align-items:center}.project-finance-heading p:last-child{display:none}.project-finance-heading .primary-button{height:38px;padding:0 11px;font-size:12px}.project-finance-totals{gap:5px;margin-top:15px}.project-finance-totals>div{padding:10px 8px}.project-finance-totals strong{font-size:13px;white-space:nowrap}.project-finance-row{grid-template-columns:45px 1fr auto;padding:10px 9px;gap:8px}.content-heading{margin-top:34px}.note-type-switch{margin:5px 18px 3px}.finance-editor{padding:10px 18px 14px}.finance-intro .ghost-button{height:36px;padding:0 11px}.finance-table-wrap{width:calc(100vw - 36px)}.finance-summary{position:sticky;left:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.finance-summary>div{padding:9px 7px}.finance-summary strong{font-size:12px;white-space:nowrap}.finance-table input,.finance-table select{font-size:16px}}

/* Final responsive overrides for direct project/finance controls */
@media(max-width:720px){.project-finance{padding:0}.project-finance-row{grid-template-columns:44px minmax(0,1fr) auto;padding-left:0;padding-right:0}.finance-row-actions{grid-column:2/-1;justify-content:flex-end}.project-delete{opacity:1}}

/* Visual project icon picker */
.project-finance-row>b.expense{color:#2373e2!important}.finance-kind.expense{background:#b7d5ff!important;color:#2373e2!important}.project-finance-totals>div:nth-child(2) strong{color:#2272e2}.project-finance-totals .balance strong{color:#0b0086}
.finance-transaction-date{font-size:11px;color:#9aa5ae;margin-top:3px;font-variant-numeric:tabular-nums}.quick-finance-form{grid-template-columns:82px minmax(140px,1.2fr) minmax(130px,1fr) 138px 68px 130px auto}
@media(max-width:720px){.quick-finance-form [name=transaction_date]{grid-column:1/-1}.finance-transaction-date{font-size:10px}}
.view-project-icon{border:0;padding:3px;background:transparent;cursor:pointer;border-radius:8px;transition:transform .16s,background .16s}.view-project-icon:hover{transform:scale(1.08);background:var(--primary-soft)}.icon-picker-dialog{width:min(480px,calc(100vw - 28px));border:0;border-radius:14px;padding:20px;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.icon-picker-dialog::backdrop{background:rgba(11,28,48,.34);backdrop-filter:blur(4px)}.icon-picker-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.icon-picker-head .eyebrow{margin-bottom:3px}.icon-picker-head h2{margin:0;font-size:22px}.project-icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;max-height:330px;overflow:auto}.project-icon-choice{aspect-ratio:1;border:0;border-radius:9px;background:rgba(239,244,255,.75);font-size:24px;display:grid;place-items:center;transition:transform .14s,background .14s}.project-icon-choice:hover,.project-icon-choice:focus-visible{background:var(--primary-soft);transform:scale(1.08);outline:2px solid var(--ice)}
@media(max-width:520px){.project-icon-grid{grid-template-columns:repeat(6,1fr)}.project-icon-choice{font-size:22px}}

/* Vietnamese typography, project icons and personal avatar */
.eyebrow,.section-heading,.project-pill,.note-bottom,.finance-kind,.finance-balance-card small,.project-finance-totals small{font-family:var(--font);letter-spacing:.04em}.eyebrow{text-transform:none;font-size:12px}.editable-project-title .icon-button{border:0;background:transparent;opacity:.28;transition:opacity .18s,color .18s}.editable-project-title .icon-button:hover,.editable-project-title .icon-button:focus-visible{opacity:1;color:var(--primary);background:transparent}.view-project-icon{font-size:34px;line-height:1}.project-icon{width:22px;text-align:center;font-size:17px;line-height:1}.avatar{border:0;padding:0;overflow:hidden;color:#314152}.avatar img{width:100%;height:100%;display:block;object-fit:cover}.avatar:hover{box-shadow:0 0 0 2px var(--ice)}.project-dialog select{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}

/* Keep project finance aligned on narrow screens. Must stay after desktop overrides. */
@media(max-width:720px){
  html{width:100%;max-width:100%;height:auto;overflow-x:clip;overflow-y:auto}
  body{width:100%;max-width:100%;min-height:100dvh;overflow-x:clip;overflow-y:visible;overscroll-behavior-y:auto;touch-action:pan-y}
  .app-shell{width:100%;max-width:100%;min-height:100dvh;overflow-x:clip}
  .sidebar{left:0;right:auto;max-width:86vw;transform:translate3d(calc(-100% - 2px),0,0);transition:transform .25s;visibility:hidden;contain:layout paint;touch-action:pan-y}
  .sidebar.open{left:0;transform:translate3d(0,0,0);visibility:visible}
  .main-content{width:100%;min-width:0;max-width:100%;overflow:visible}
  .topbar{width:100%;max-width:100%}
  .workspace,.welcome-row>div,.project-finance{width:100%;min-width:0;max-width:100%}
  .editable-project-title{gap:7px;max-width:100%}
  .editable-project-title h1{font-size:30px;overflow-wrap:anywhere}
  .view-project-icon{flex:0 0 auto;font-size:29px}
  .project-finance-heading h2{font-size:21px}
  .project-finance-totals{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .project-finance-totals>div{min-width:0;padding:10px 5px}
  .project-finance-totals small{font-size:9px;white-space:nowrap}
  .project-finance-totals strong{display:block;max-width:100%;font-size:12px;letter-spacing:-.03em;white-space:nowrap}
  .quick-finance-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;padding:10px;gap:8px}
  .quick-finance-form [name=item_type],.quick-finance-form [name=description]{grid-column:auto}
  .quick-finance-form [name=short_note],.quick-finance-form [name=transaction_date]{grid-column:1/-1}
  .quick-finance-form [name=quantity]{grid-column:1}
  .quick-finance-form [name=unit_price]{grid-column:2}
  .quick-finance-form button{grid-column:1/-1;width:100%}
  .project-finance-list{width:100%;max-width:100%;padding:7px 10px;overflow:hidden}
  .project-finance-row{grid-template-columns:40px minmax(0,1fr) auto;width:100%;gap:7px;padding:11px 0}
  .finance-row-copy strong,.finance-row-copy small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .project-finance-row>b{font-size:12px;text-align:right}
  .finance-row-actions{grid-column:2/-1;margin:0;justify-content:flex-end}
}
@media(max-width:390px){
  .workspace{padding-left:12px;padding-right:12px}
  .project-finance-totals{gap:4px}
  .project-finance-totals>div{padding-left:3px;padding-right:3px}
  .project-finance-totals strong{font-size:11px}
}

/* Home link in sidebar brand */
.brand-home{display:flex;align-items:center;gap:11px;min-width:0;color:inherit;text-decoration:none}.brand-name{display:flex;flex-direction:column}.brand-home:hover .brand-mark{background:var(--primary)}

/* Menu controls only apply when the desktop sidebar is collapsed on mobile. */
.topbar .mobile-menu,.sidebar .mobile-close{display:none}
@media(max-width:720px){.topbar .mobile-menu,.sidebar .mobile-close{display:inline-grid}}

/* Mobile app navigation */
.mobile-tabbar{display:none}
@media(max-width:720px){
  .topbar{position:static;height:auto!important;padding:14px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left))!important;border:0;background:transparent;backdrop-filter:none}
  .topbar .mobile-menu{display:none}
  .topbar .search{max-width:none;width:100%;height:46px;border-radius:14px;background:rgba(255,255,255,.78);box-shadow:0 5px 18px rgba(29,84,172,.06)}
  .workspace{padding-top:22px!important;padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
  .mobile-tabbar{position:fixed;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));height:70px;padding:7px 10px 8px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 12px 38px rgba(11,28,48,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);z-index:45}
  .mobile-tab{height:52px;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;font:600 10px var(--font)}
  .mobile-tab>svg{width:22px;height:22px}.mobile-tab.active{color:var(--primary)}
  .mobile-tab-create{position:relative;color:var(--primary);overflow:visible}
  .mobile-tab-plus{width:48px;height:48px;margin-top:-24px;border:5px solid rgba(248,249,255,.95);border-radius:17px;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px rgba(29,84,172,.3)}
  .mobile-tab-plus svg{width:23px;height:23px}
  .sidebar{z-index:55}
  .sidebar.open~.main-content{pointer-events:none}
  .toast{bottom:calc(96px + env(safe-area-inset-bottom))}
  [data-theme="dark"] .mobile-tabbar{border-color:#27364d;background:rgba(15,23,37,.9);box-shadow:0 14px 42px rgba(0,0,0,.48)}
  [data-theme="dark"] .mobile-tab-plus{border-color:#0b1220}
}

/* Calm, high-legibility writing surface */
:root:not([data-theme="dark"]) .note-dialog{background:rgba(253,253,250,.98);border:1px solid rgba(210,218,226,.9);box-shadow:0 28px 80px rgba(11,28,48,.22)}
:root:not([data-theme="dark"]) .note-dialog form{background:rgba(253,253,250,.96)}
:root:not([data-theme="dark"]) .note-dialog .dialog-toolbar,
:root:not([data-theme="dark"]) .note-dialog .dialog-footer,
:root:not([data-theme="dark"]) .note-dialog .note-meta-form{background:rgba(248,249,246,.94);border-color:#e1e5e2}
:root:not([data-theme="dark"]) .note-dialog .note-title-input,
:root:not([data-theme="dark"]) .note-dialog .note-content-input{background:#fdfdfa;color:#132238;caret-color:var(--primary)}
:root:not([data-theme="dark"]) .note-dialog .note-content-input::placeholder,
:root:not([data-theme="dark"]) .note-dialog .note-title-input::placeholder{color:#8a949d}
.note-dialog .note-meta-form{display:none}
.note-dialog form.note-details-open .note-meta-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.note-details-toggle svg{width:17px;height:17px}
.note-details-toggle[aria-expanded="true"]{background:var(--primary-soft);color:var(--primary)}
.note-dialog .dialog-footer>div{margin-left:auto}
@media(max-width:720px){.note-dialog form.note-details-open .note-meta-form{grid-template-columns:repeat(2,minmax(0,1fr))}.note-dialog form.note-details-open .note-meta-form label:last-child{grid-column:1/-1}}
.project-drag-handle{flex:0 0 26px;height:42px;display:grid;place-items:center;color:var(--muted);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;opacity:.6}.project-drag-handle:active{cursor:grabbing}.project-drag-handle svg{width:19px;height:19px;fill:currentColor;stroke:none;pointer-events:none}.project-menu-row:hover .project-drag-handle{opacity:1}.project-menu-row.dragging{position:relative;z-index:2;background:var(--panel);box-shadow:0 8px 22px rgba(11,28,48,.16);opacity:.92;transform:scale(1.015)}.project-menu-row.dragging .project-item{background:transparent}.sorting-projects,.sorting-projects *{cursor:grabbing!important}.sorting-projects{overflow:hidden;user-select:none;-webkit-user-select:none}

/* Authentication, backups and trash */
.sidebar-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto;padding-top:12px}.sidebar-tools+.sidebar-footer{margin-top:10px}.sidebar-tools .ghost-button{padding:0 8px;font-size:10px}.login-dialog,.trash-dialog{border:0;border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.login-dialog::backdrop,.trash-dialog::backdrop{background:rgba(7,19,33,.68);backdrop-filter:blur(7px)}.login-dialog{width:min(410px,calc(100vw - 28px))}.login-dialog form{padding:30px;display:grid;gap:15px}.login-dialog h2{margin:0;font-size:28px}.login-dialog p:not(.eyebrow){margin:0 0 5px;color:var(--muted)}.login-dialog label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.login-dialog input{height:43px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink)}.trash-dialog{width:min(620px,calc(100vw - 28px));padding:24px}.trash-list{display:grid;gap:8px;margin-top:20px;max-height:60vh;overflow:auto}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px}.trash-row>div{display:grid;gap:4px}.trash-row small,.trash-empty{color:var(--muted);font-size:11px}
.sidebar-footer{position:relative}.account-trigger{min-width:0;flex:1;border:0;background:transparent;color:inherit;padding:3px 2px;text-align:left;display:flex;flex-direction:column;border-radius:7px}.account-trigger:hover,.account-trigger[aria-expanded="true"]{color:var(--primary)}.account-trigger strong{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:absolute;left:0;right:0;bottom:58px;display:flex;flex-direction:column;gap:7px;padding:13px;background:#fff;border:1px solid #dce3ec;border-radius:12px;box-shadow:0 18px 45px rgba(11,28,48,.22);z-index:100;opacity:1;filter:none;backdrop-filter:none}.account-menu .account-menu-header{padding:2px 3px 10px;border-bottom:1px solid #e7ebf0}.account-menu small{margin-bottom:3px}.account-menu strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-action,.account-logout{width:100%;height:36px;border-radius:8px;font-weight:600;text-align:left;padding:0 11px}.account-menu-action{border:0;background:#eef4ff;color:#1d54ac}.account-menu-action:hover{background:#dce8fb}.account-logout{border:1px solid #ef444440;background:#fff1f2;color:#b91c1c}.account-logout:hover{background:#fee2e2}
.account-dialog{width:min(680px,calc(100vw - 28px));max-height:90vh;padding:0;border:0;border-radius:18px;background:#fff;color:#102036;box-shadow:0 28px 90px rgba(10,26,48,.28)}.account-dialog::backdrop{background:rgba(7,19,33,.58);backdrop-filter:blur(5px)}.account-dialog form{padding:28px;display:grid;gap:22px}.account-dialog-head{display:flex;justify-content:space-between;gap:20px}.account-dialog-head h2{margin:0;font-size:29px}.account-dialog-head p:not(.eyebrow){margin:7px 0 0;color:#687386}.account-avatar-row{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e4e9f0;border-radius:12px;background:#f8faff}.account-avatar-row>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.account-avatar-preview{width:58px;height:58px;padding:0;border:0;border-radius:50%;overflow:hidden;background:#dce8fb;color:#314152;display:grid;place-items:center}.account-avatar-preview img{width:100%;height:100%;object-fit:cover}.text-button{padding:0;border:0;background:transparent;color:#1d54ac;font-size:12px}.account-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-dialog label{display:grid;gap:7px;color:#596579;font-size:12px}.account-dialog input{width:100%;height:43px;padding:0 12px;border:1px solid #dce3ec;border-radius:9px;background:#fff;color:#102036;outline:0}.account-dialog input:focus{border-color:#6fa7eb;box-shadow:0 0 0 3px rgba(80,145,220,.13)}.password-section{padding-top:19px;border-top:1px solid #e5eaf0}.password-section h3{margin:0;font-size:16px}.password-section>p{margin:5px 0 14px;color:#748094;font-size:12px}.password-section>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.account-dialog-actions{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid #e5eaf0}.account-dialog-actions>div{display:flex;gap:8px}.account-dialog-actions>.account-logout{width:auto;height:40px;padding:0 15px}@media(max-width:600px){.account-dialog{width:calc(100vw - 20px)}.account-dialog form{padding:20px}.account-fields,.password-section>div{grid-template-columns:1fr}.account-dialog-actions{align-items:stretch;flex-direction:column-reverse;gap:12px}.account-dialog-actions>div{display:grid;grid-template-columns:1fr 1fr}.account-dialog-actions>.account-logout{width:100%;text-align:center}}

/* Midnight dark theme */
[data-theme="dark"] body{background:radial-gradient(circle at 72% -10%,rgba(53,112,190,.18),transparent 38%),radial-gradient(circle at 18% 105%,rgba(25,92,126,.11),transparent 30%),var(--bg)}
[data-theme="dark"] ::selection{background:rgba(120,183,255,.3);color:#fff}
[data-theme="dark"] .sidebar{background:linear-gradient(180deg,rgba(14,24,42,.98),rgba(8,15,27,.99));border-right-color:#1c2940;box-shadow:10px 0 40px rgba(0,0,0,.2)}
[data-theme="dark"] .brand-mark{color:#06101d;background:linear-gradient(145deg,#86c6ff,#50b9ed);box-shadow:0 7px 22px rgba(58,158,224,.22)}
[data-theme="dark"] .brand strong,[data-theme="dark"] .section-heading,[data-theme="dark"] .eyebrow{color:#8fc7ff}
[data-theme="dark"] .new-note{color:#07111d;background:linear-gradient(135deg,#7ec6ff,#53c6e8);box-shadow:0 8px 24px rgba(52,169,226,.18)}
[data-theme="dark"] .nav-item:hover,[data-theme="dark"] .project-item:hover{color:#e9f4ff;background:#131f32}
[data-theme="dark"] .nav-item.active,[data-theme="dark"] .project-item.active{color:#9bcfff;background:linear-gradient(90deg,rgba(55,127,210,.23),rgba(42,104,169,.12));box-shadow:inset 3px 0 #6db7ff}
[data-theme="dark"] .sidebar-footer{border-color:#1d2a40}
[data-theme="dark"] .avatar{background:#1d2a40;color:#b8d9ff}
[data-theme="dark"] .account-menu{background:#101a2a;border-color:#293951;box-shadow:0 20px 45px rgba(0,0,0,.4)}
[data-theme="dark"] .account-menu .account-menu-header{border-color:#293951}
[data-theme="dark"] .account-menu-action{color:#9ccaff;background:#172b46}
[data-theme="dark"] .account-menu-action:hover{background:#203a5d}
[data-theme="dark"] .account-logout{color:#ff9aa7;background:#3b1d2980;border-color:#713044}
[data-theme="dark"] .account-logout:hover{background:#522333}
[data-theme="dark"] .account-dialog{background:#111827;color:#f1f5fd;border:1px solid #29374d}.account-dialog::backdrop{background:rgba(2,6,13,.72);backdrop-filter:blur(6px)}[data-theme="dark"] .account-dialog-head p:not(.eyebrow),[data-theme="dark"] .account-dialog label,[data-theme="dark"] .password-section>p{color:#94a3b8}[data-theme="dark"] .account-avatar-row{background:#0d1625;border-color:#29374d}[data-theme="dark"] .account-avatar-preview{background:#1d2a40;color:#b8d9ff}[data-theme="dark"] .account-dialog input{background:#0b1321;border-color:#27364d;color:#e8f0fc}[data-theme="dark"] .password-section,[data-theme="dark"] .account-dialog-actions{border-color:#29374d}
[data-theme="dark"] .topbar{background:rgba(7,12,22,.8);border-bottom-color:#1d293c;box-shadow:0 8px 30px rgba(0,0,0,.12)}
[data-theme="dark"] .search{background:rgba(17,27,44,.88);border-color:#293951;box-shadow:inset 0 1px rgba(255,255,255,.025)}
[data-theme="dark"] .search:focus-within{border-color:#579de8;box-shadow:0 0 0 3px rgba(87,157,232,.14),0 8px 24px rgba(0,0,0,.14)}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#64748b}
[data-theme="dark"] kbd{color:#8392a8;background:#0b1321;border-color:#27364b}
[data-theme="dark"] .note-card,[data-theme="dark"] .project-finance-totals>div,[data-theme="dark"] .project-finance-list,[data-theme="dark"] .quick-finance-form,[data-theme="dark"] .finance-balance-card{background:linear-gradient(155deg,#141d2d,#101725);border-color:#223149;box-shadow:0 14px 34px rgba(0,0,0,.22)}
[data-theme="dark"] .note-card:hover{border-color:#36577d;box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 0 1px rgba(102,177,255,.08)}
[data-theme="dark"] .note-card::before{box-shadow:2px 0 12px color-mix(in srgb,var(--project-color) 34%,transparent)}
[data-theme="dark"] .note-bottom,[data-theme="dark"] .project-finance-row,[data-theme="dark"] .quick-finance-form{border-color:#223047}
[data-theme="dark"] .project-finance-row:hover{background:#182236}
[data-theme="dark"] .quick-finance-form input,[data-theme="dark"] .quick-finance-form select,[data-theme="dark"] .dialog-toolbar select,[data-theme="dark"] .note-meta-form select,[data-theme="dark"] .note-meta-form input,[data-theme="dark"] .project-dialog input:not([type=color]),[data-theme="dark"] .project-dialog textarea,[data-theme="dark"] .project-dialog select,[data-theme="dark"] .login-dialog input{background:#0b1321;border-color:#27364d;color:#e8f0fc}
[data-theme="dark"] .quick-finance-form input:focus,[data-theme="dark"] .quick-finance-form select:focus,[data-theme="dark"] input:focus,[data-theme="dark"] textarea:focus,[data-theme="dark"] select:focus{border-color:#528fcf;box-shadow:0 0 0 3px rgba(82,143,207,.12);outline:0}
[data-theme="dark"] .project-finance-totals>div:first-child strong,[data-theme="dark"] .project-finance-row>b.income{color:#49dfa2}
[data-theme="dark"] .project-finance-totals>div:nth-child(2) strong,[data-theme="dark"] .project-finance-row>b.expense{color:#71afff!important}
[data-theme="dark"] .project-finance-totals .balance strong{color:#b49cff}
[data-theme="dark"] .finance-kind.income{color:#60e3ad;background:#123a31}
[data-theme="dark"] .finance-kind.expense{color:#82baff!important;background:#172f50!important}
[data-theme="dark"] .primary-button{color:#07111d;background:linear-gradient(135deg,#7abaff,#54c4ed);border-color:transparent;box-shadow:0 7px 20px rgba(55,155,219,.17)}
[data-theme="dark"] .ghost-button{color:#9ccaff;background:#111c2d;border-color:#2b4667}
[data-theme="dark"] .ghost-button:hover,[data-theme="dark"] .icon-button:hover,[data-theme="dark"] .icon-button.selected{background:#1a2940;color:#b7d9ff}
[data-theme="dark"] .danger-hover:hover,[data-theme="dark"] .project-delete:hover{color:#ff8b9a;background:#3b1d29}
[data-theme="dark"] .pin-button.active{color:#ffd76a;background:#3b3217}
[data-theme="dark"] .note-dialog,[data-theme="dark"] .project-dialog,[data-theme="dark"] .icon-picker-dialog,[data-theme="dark"] .avatar-crop-dialog,[data-theme="dark"] .login-dialog,[data-theme="dark"] .trash-dialog{background:#111827;border:1px solid #29374d;box-shadow:0 30px 90px rgba(0,0,0,.58)}
[data-theme="dark"] .note-dialog::backdrop,[data-theme="dark"] .project-dialog::backdrop,[data-theme="dark"] .icon-picker-dialog::backdrop,[data-theme="dark"] .avatar-crop-dialog::backdrop,[data-theme="dark"] .login-dialog::backdrop,[data-theme="dark"] .trash-dialog::backdrop{background:rgba(2,6,13,.76);backdrop-filter:blur(9px)}
[data-theme="dark"] .dialog-toolbar,[data-theme="dark"] .dialog-footer,[data-theme="dark"] .note-meta-form{border-color:#263349;background:#0f1725}
[data-theme="dark"] .note-title-input,[data-theme="dark"] .note-content-input{background:#111827;color:#f1f5fd}
[data-theme="dark"] .note-type-switch{background:#0a1220;border-color:#26354b}
[data-theme="dark"] .note-type-switch button.active{color:#dcecff;background:#20324c;box-shadow:0 2px 8px rgba(0,0,0,.25)}
[data-theme="dark"] .finance-table-wrap{border-color:#26354b}
[data-theme="dark"] .finance-table{background:#111827}
[data-theme="dark"] .finance-table th{background:#0b1321;color:#90a2b9}
[data-theme="dark"] .finance-table td{border-color:#223047}
[data-theme="dark"] .finance-table input:focus,[data-theme="dark"] .finance-table select:focus{background:#18243a}
[data-theme="dark"] .finance-summary>div{background:#121c2c;border-color:#28374d}
[data-theme="dark"] .finance-summary .balance{color:#dfeaff;background:#1b2940;border-color:#385475}
[data-theme="dark"] .finance-preview>strong{background:#0b1321}
[data-theme="dark"] .project-icon-choice{background:#152136}
[data-theme="dark"] .project-icon-choice:hover,[data-theme="dark"] .project-icon-choice:focus-visible{background:#203653}
[data-theme="dark"] .trash-row{background:#0d1625;border-color:#26354a}
[data-theme="dark"] .avatar-crop-stage{background:#0c1626}
[data-theme="dark"] .toast{color:#eaf4ff;background:#172840;border:1px solid #345477}
[data-theme="dark"] *{scrollbar-color:#344861 #0b1220}

/* Project finance pagination */
.finance-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px}.finance-pagination span{min-width:76px;text-align:center;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.finance-pagination .ghost-button{height:34px;padding:0 12px}.finance-pagination button:disabled{opacity:.38;cursor:not-allowed}
@media(max-width:720px){.finance-pagination{justify-content:center}.finance-pagination .ghost-button{flex:1;max-width:110px}}

/* Investment projects */
.project-item-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.project-item-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item-copy small{color:var(--muted);font-size:9px;font-weight:500}.investment-panel{margin-top:30px}.investment-head h2{margin:0;font-size:24px}.investment-head p:last-child{margin:6px 0 0;color:var(--muted);font-size:12px}.investment-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.investment-metrics>div{padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.investment-metrics small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.investment-metrics strong{font-size:20px;font-variant-numeric:tabular-nums}.investment-metrics .annual{background:var(--primary-soft)}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.investment-metric-label{display:flex;align-items:start;justify-content:space-between}.metric-edit-button,.metric-save-button,.metric-cancel-button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.metric-edit-button{margin:-7px -7px 0 0}.metric-edit-button:hover,.metric-cancel-button:hover{background:var(--primary-soft);color:var(--primary)}.metric-save-button{background:var(--primary);color:#fff}.metric-edit-button svg,.metric-save-button svg,.metric-cancel-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.investment-value-form{display:grid;grid-template-columns:minmax(0,1fr) 26px 26px;align-items:center;gap:5px}.investment-value-form input,.investment-transaction-form input,.investment-transaction-form select{height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.investment-value-form input{min-width:0;height:34px;font-size:14px;font-weight:650}.investment-transaction-form{display:grid;grid-template-columns:110px 150px 145px minmax(170px,1fr) auto;gap:8px;margin-top:10px}.investment-list{margin-top:14px;padding:8px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.investment-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto 34px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.investment-row:last-child{border-bottom:0}.investment-kind{padding:5px;border-radius:6px;text-align:center;font-size:10px;font-weight:700}.investment-kind.deposit{color:#087a55;background:#d7faea}.investment-kind.withdrawal{color:#a91d27;background:#ffe3e5}.investment-row>div{display:grid;gap:3px}.investment-row small{color:var(--muted);font-size:10px}.investment-row>b{font-variant-numeric:tabular-nums}.investment-row .icon-button{display:grid;place-items:center}
.investment-row[data-action="edit-investment"]{padding-left:6px;padding-right:6px;border-radius:8px;cursor:pointer;transition:background .15s}.investment-row[data-action="edit-investment"]:hover,.investment-row[data-action="edit-investment"]:focus-visible{background:var(--primary-soft);outline:0}[data-theme="dark"] .investment-metrics>div,[data-theme="dark"] .investment-list{background:linear-gradient(155deg,#141d2d,#101725);border-color:#223149}[data-theme="dark"] .investment-metrics .annual{background:#152b49}[data-theme="dark"] .investment-value-form input,[data-theme="dark"] .investment-transaction-form input,[data-theme="dark"] .investment-transaction-form select{background:#0b1321;border-color:#27364d}[data-theme="dark"] .investment-kind.deposit{color:#60e3ad;background:#123a31}[data-theme="dark"] .investment-kind.withdrawal{color:#ff8b9a;background:#3b1d29}
.investment-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.investment-pagination span{min-width:78px;color:var(--muted);font-size:11px;text-align:center}.investment-pagination .ghost-button{height:34px;padding:0 12px}.investment-pagination button:disabled{cursor:not-allowed;opacity:.45}
.investment-history-dialog>.investment-pagination{padding-top:2px}.investment-history-dialog>.investment-pagination span{color:#657286}.investment-history-dialog>.investment-pagination .ghost-button{border-color:#d9e2ec;background:#fff;color:#245b96}.investment-history-dialog>.investment-pagination .ghost-button:hover:not(:disabled){background:#eef4fb}
.investment-holdings{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.investment-holdings-head h3{margin:0;font-size:17px}.investment-holdings-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.investment-holding-form{display:grid;grid-template-columns:1.1fr repeat(4,1fr) auto;gap:7px;margin-top:14px}.investment-holding-form input{min-width:0;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}.investment-holdings-table-wrap{margin-top:14px;overflow-x:auto}.investment-holdings table{width:100%;min-width:850px;border-collapse:collapse;font-variant-numeric:tabular-nums}.investment-holdings th,.investment-holdings td{padding:11px 9px;border-top:1px solid var(--line);text-align:right;white-space:nowrap}.investment-holdings th{color:var(--muted);font-size:9px;text-transform:uppercase}.investment-holdings th:first-child,.investment-holdings td:first-child{text-align:left}.investment-holdings tbody tr[data-action]{cursor:pointer}.investment-holdings tbody tr[data-action]:hover{background:var(--primary-soft)}.investment-holdings td small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.allocation-bar{display:inline-block;width:58px;height:6px;margin-right:6px;overflow:hidden;border-radius:8px;background:var(--line);vertical-align:middle}.allocation-bar i{display:block;height:100%;border-radius:inherit;background:var(--primary)}[data-theme="dark"] .investment-holdings,[data-theme="dark"] .investment-holding-form input{background:#111827;border-color:#233047}@media(max-width:900px){.investment-holding-form{grid-template-columns:repeat(2,minmax(0,1fr))}.investment-holding-form button{grid-column:1/-1}}
.investment-allocation-chart{display:grid;grid-template-columns:520px minmax(300px,1fr);align-items:center;gap:36px;min-height:570px;margin:18px 0 24px;padding:24px 32px;border-radius:12px;background:var(--background,#f7f8fb)}.allocation-donut{width:520px;max-width:100%;margin:auto}.allocation-donut svg{display:block;width:520px;max-width:100%;height:auto;overflow:visible;fill:none;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;text-rendering:geometricPrecision}.allocation-track{fill:none;stroke:var(--line);stroke-linecap:butt}.allocation-segment{fill:none;stroke-linecap:butt;stroke-linejoin:miter;transition:opacity .15s,stroke-width .15s;cursor:default}.allocation-segment:hover{opacity:.82;stroke-width:48}.allocation-donut text{stroke:none;stroke-width:0;paint-order:normal}.allocation-slice-label{fill:#fff;pointer-events:none;font:700 9px var(--font)}.allocation-total{fill:var(--ink);font:700 13px var(--font);font-variant-numeric:tabular-nums}.allocation-currency{fill:var(--muted);font:600 11px var(--font)}.allocation-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.allocation-legend-item{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px}.allocation-legend-item>i{width:20px;height:20px;border-radius:50%}.allocation-legend-item span{min-width:0}.allocation-legend-item strong,.allocation-legend-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allocation-legend-item strong{font-size:15px}.allocation-legend-item small{margin-top:4px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}[data-theme="dark"] .investment-allocation-chart{background:#0d1523}@media(max-width:1150px){.investment-allocation-chart{grid-template-columns:1fr;min-height:0;padding:22px}.allocation-donut{width:480px}.allocation-donut svg{width:480px}.allocation-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.allocation-donut,.allocation-donut svg{width:360px}.allocation-legend{grid-template-columns:1fr}}
@media(max-width:720px){.investment-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.investment-metrics>div{padding:12px}.investment-metrics strong{font-size:15px}.investment-value-form{align-items:stretch;flex-direction:column}.investment-transaction-form{grid-template-columns:1fr 1fr}.investment-transaction-form [name=note],.investment-transaction-form button{grid-column:1/-1}.investment-list{padding:6px 10px}.investment-row{grid-template-columns:44px minmax(0,1fr) auto 30px;gap:7px}.investment-row>b{font-size:11px}}
.investment-history{margin-top:22px}.investment-history-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.investment-history-title{display:flex;align-items:center;gap:8px}.investment-history-head h3{margin:0;font-size:17px}.investment-history-title button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--primary)}.investment-history-title button:hover{background:var(--primary-soft)}.investment-history-title button svg{width:15px;height:15px}.investment-history-head span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.investment-chart-legend{display:flex;gap:16px}.investment-chart-legend span{display:flex;align-items:center;gap:6px;margin:0}.investment-chart-legend i{width:18px;height:3px;border-radius:2px;background:var(--primary)}.investment-chart-legend i.market{background:var(--green)}.investment-chart{height:330px;padding:12px 8px 0;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.investment-chart svg{display:block;width:100%;height:100%;overflow:visible}.investment-chart text{stroke:none;font-family:var(--font);font-weight:500;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}.chart-grid line{stroke:var(--line);stroke-width:1}.chart-grid text,.chart-x-label{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart-grid text{text-anchor:end}.chart-x-label{text-anchor:middle}.chart-line{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}.chart-line.capital{stroke:var(--primary)}.chart-line.market{stroke:var(--green)}.chart-hit{fill:transparent;stroke:none}.chart-dot{fill:var(--green);stroke:var(--panel);stroke-width:2;vector-effect:non-scaling-stroke}.chart-tooltip{display:none;pointer-events:none}.investment-chart-point:hover .chart-tooltip,.investment-chart-point:focus .chart-tooltip{display:block}.chart-tooltip rect{fill:#172033;stroke:#334155;stroke-width:1;vector-effect:non-scaling-stroke}.chart-tooltip text{fill:#e8eef7;stroke:none;font-size:11px;font-weight:450}.chart-tooltip .tooltip-title{fill:#fff;font-weight:700}.investment-chart-point:focus{outline:0}[data-theme="dark"] .investment-chart{background:#111827;border-color:#233047}.investment-history-dialog{width:min(780px,calc(100vw - 28px));max-height:min(760px,88vh);padding:24px;border:1px solid #e4e9f0;border-radius:14px;background:#fff;color:#102036;box-shadow:0 24px 70px rgba(15,31,52,.2);color-scheme:light}.investment-history-dialog::backdrop{background:rgba(11,28,48,.38);backdrop-filter:blur(4px)}.investment-history-dialog .modal-heading h2{font-size:24px;color:#102036}.investment-history-dialog .eyebrow{color:#1565c0}.investment-history-dialog .icon-button{color:#536274}.investment-history-dialog .icon-button:hover{background:#eef4fb}.investment-history-detail-wrap{margin-top:20px;max-height:60vh;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.investment-history-dialog table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.investment-history-dialog th{position:sticky;top:0;padding:11px 14px;background:#f6f8fb;color:#657286;font-size:10px;text-align:right}.investment-history-dialog th:first-child{text-align:left}.investment-history-dialog td{padding:13px 14px;border-top:1px solid #e8edf3;color:#102036;text-align:right;white-space:nowrap}.investment-history-dialog td:first-child{text-align:left;white-space:normal}.investment-history-dialog td strong,.investment-history-dialog td small{display:block}.investment-history-dialog td small{margin-top:3px;color:#718096;font-size:10px}.investment-history-dialog .investment-history-empty{text-align:center;color:#718096}@media(max-width:720px){.investment-history-head{align-items:start;flex-direction:column;gap:10px}.investment-chart{height:270px;padding-left:0}.investment-chart-legend{gap:12px}.investment-history-dialog{padding:18px}.investment-history-detail-wrap{overflow-x:auto}.investment-history-dialog table{min-width:570px}}

/* Avatar cropper */
.allocation-donut svg{width:342px;max-width:100%}
.investment-holding-form{grid-template-columns:1.1fr repeat(3,1fr) auto}
.holding-actions{display:flex;justify-content:flex-end;gap:3px}.dividend-button{color:var(--primary)}.dividend-button.active{background:var(--primary-soft)}.dividend-editor-row>td{padding:0!important;border-top:0!important;text-align:left!important}.dividend-editor{margin:0 4px 12px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.dividend-editor-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dividend-editor-head small{color:var(--muted);font-size:10px}.investment-dividend-form{display:grid;grid-template-columns:140px minmax(150px,1fr) 100px minmax(130px,1fr) minmax(160px,1fr) 130px auto;gap:8px;align-items:end;margin-top:13px}.investment-dividend-form label{display:grid;gap:5px;color:var(--muted);font-size:9px}.investment-dividend-form input{width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.dividend-net{display:grid;gap:4px}.dividend-net small{color:var(--muted);font-size:9px}.dividend-net strong{height:38px;display:flex;align-items:center;color:var(--green);white-space:nowrap}.dividend-history{display:grid;gap:5px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.dividend-history-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto 32px;gap:10px;align-items:center;font-size:11px}.dividend-history-row>span:nth-child(2){color:var(--muted)}.dividend-history-row>strong{color:var(--green);white-space:nowrap}[data-theme="dark"] .dividend-editor{background:#0b1321;border-color:#26354b}[data-theme="dark"] .investment-dividend-form input{background:#111827;border-color:#27364d}@media(max-width:1100px){.investment-dividend-form{grid-template-columns:repeat(3,minmax(0,1fr))}.investment-dividend-form button{grid-column:3}}@media(max-width:720px){.investment-dividend-form{grid-template-columns:1fr 1fr}.investment-dividend-form label:nth-of-type(5),.investment-dividend-form button{grid-column:1/-1}.dividend-editor-head{align-items:flex-start;flex-direction:column}.dividend-history-row{grid-template-columns:80px minmax(0,1fr) 30px}.dividend-history-row>strong{grid-column:2}.dividend-history-row>button{grid-column:3;grid-row:1/3}}

.avatar-crop-dialog{width:min(460px,calc(100vw - 24px));border:0;border-radius:16px;padding:20px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.avatar-crop-dialog::backdrop{background:rgba(11,28,48,.5);backdrop-filter:blur(5px)}.avatar-crop-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.avatar-crop-head h2{margin:0;font-size:23px}.avatar-crop-stage{width:min(100%,360px);aspect-ratio:1;margin:auto;border-radius:50%;overflow:hidden;background:#dce8fb;box-shadow:inset 0 0 0 1px var(--line);touch-action:none}.avatar-crop-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.avatar-crop-stage canvas:active{cursor:grabbing}.avatar-zoom-label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin:18px 0 0;font-size:12px;color:var(--muted)}.avatar-zoom-label input{width:100%;accent-color:var(--primary)}.avatar-crop-hint{text-align:center;color:var(--muted);font-size:12px;margin:10px 0 17px}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:520px){.avatar-crop-dialog{padding:16px}.avatar-crop-stage{width:min(100%,320px)}.avatar-crop-actions>*{flex:1}}
