@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f8fc;--ink:#17253a;--muted:#8090a5;--border:#e9edf4;--white:#fff;--primary:#2367d7;--green:#1c9b79;--shadow:0 8px 25px rgba(36,54,83,.035)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:253px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:29px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:13px;font-size:22px;font-weight:800;padding:0 11px 42px}.logo small{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.03em;margin-top:2px}.brand-mark{display:grid;place-items:center;width:41px;height:41px;background:#eaf2ff;color:#2877e5;border-radius:13px;font-size:25px;font-weight:600}.nav{display:grid;gap:7px}.nav a{padding:13px 14px;color:#637187;font-weight:600;border-radius:11px}.nav a:hover,.nav .active{background:#ebf3ff;color:#246bdd}.side-bottom{margin-top:auto;padding:20px 12px;border-top:1px solid var(--border);color:#72819b;font-size:12px}.online-dot{display:inline-block;width:8px;height:8px;background:#35b995;border-radius:50%;margin-right:7px}.text-btn{border:0;background:none;color:#8796aa;padding:12px 0 0;display:block}.main{width:100%;max-width:1500px;margin:0 auto;padding:38px 44px 20px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:10px;font-weight:800;color:#3979d7;letter-spacing:2px}h1{font-size:32px;letter-spacing:-1.2px;margin:8px 0}h2{font-size:17px;margin:0 0 7px;letter-spacing:-.2px}.muted{color:var(--muted)}.topbar p{margin:0}.top-actions{display:flex;gap:9px}.btn{border-radius:11px;border:1px solid transparent;padding:12px 17px;font-weight:700;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:7px}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:#1555c2}.btn.ghost{background:#fff;border-color:var(--border)}.btn.light{background:#ecf4ff;color:#2266cd}.btn.full{width:100%}.filters{margin:28px 0 19px;display:flex;align-items:end;justify-content:space-between}.filters-form{display:flex;gap:12px}.filters label{font-size:11px;color:#8391a6;font-weight:700}.filters input,.filters select{display:block;margin-top:7px;min-width:174px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--ink)}.privacy-note{color:#9da9b8;font-size:11px;padding:10px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.stat-card,.panel{background:#fff;border:1px solid #edf0f5;border-radius:18px;box-shadow:var(--shadow)}.stat-card{padding:23px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#7f8da1;font-weight:600}.stat-icon{display:grid;place-items:center;border-radius:12px;width:35px;height:35px;font-size:18px}.mint{background:#e5f9f1;color:#25a47a}.peach{background:#fff2e8;color:#ec9b5c}.blue{background:#e8f1ff;color:#4f8fef}.lilac{background:#f1eeff;color:#9275e7}.stat-card strong{font-size:27px;display:block;letter-spacing:-1px;margin:15px 0 3px}.stat-card small{color:#9ba6b6}.two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:17px;margin:18px 0}.panel{padding:25px;margin-bottom:18px}.two-col .panel{margin-bottom:0}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.panel-head p{margin:0;font-size:12px}.panel-head a{color:var(--primary);font-weight:700;font-size:12px}.area-list{display:flex;flex-direction:column}.area-row{padding:12px 0;display:flex;gap:14px;align-items:center;border-bottom:1px solid #f1f3f6}.area-row:last-child{border-bottom:0}.area-avatar{border-radius:12px;min-width:44px;height:44px;display:grid;place-items:center;font-size:22px}.area-avatar.private{background:#edf3ff;color:#4d83d6}.area-avatar.idea{background:#fff3e5;color:#d99233}.area-avatar.own{background:#e5f8f1;color:#3caa83}.area-avatar.managed{background:#f0eafe;color:#9175c9}.area-title{flex:1;font-weight:700}.area-title small,td small{display:block;color:#9aa8b8;font-weight:400;font-size:11px;margin-top:5px}.area-row strong{font-size:14px}.arrow{font-size:22px;color:#bdc5d1}.cash-hero{background:#f2f8ff;padding:20px;border-radius:14px}.cash-hero span{display:block;font-size:12px}.cash-hero strong{display:block;font-size:31px;letter-spacing:-1px;margin-top:7px}.cash-split{padding:19px 0}.cash-split span{display:flex;justify-content:space-between;font-size:12px;color:#8491a1;margin-bottom:13px}.cash-split strong{color:#314256}.green,.cash-split .green{color:#1ba67c}.tiny{font-size:11px;line-height:1.6}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:15px 10px;border-bottom:1px solid #f0f2f6;white-space:nowrap}th{font-size:11px;font-weight:700;color:#9aa7b8}td{font-size:12px;color:#536176}td b{color:#273b50}.right{text-align:right}.empty{color:#96a3b5;padding:28px;text-align:center;border:1px dashed #e7ebf1;border-radius:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label,.auth-card label{font-weight:700;font-size:12px;color:#56677b}.form-grid input,.form-grid select,.auth-card input{display:block;width:100%;border:1px solid #e3eaf3;border-radius:10px;padding:12px;margin-top:7px;background:#fff;color:#263a50}.form-grid .span2{grid-column:span 2}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.notice,.alert{margin:18px 0;border:1px solid #b9dbfd;background:#e9f4ff;border-radius:10px;padding:12px 16px;color:#2565b4}.alert{background:#fff3ed;color:#a23e24;border-color:#ffd6c9}.pill{border-radius:20px;padding:6px 9px;font-size:11px}.pill.done{background:#e6f7ee;color:#23805c}.pill.wait{background:#fff4db;color:#9c791a}.del{border:0;background:#fff1ee;border-radius:7px;color:#c35e50;font-size:18px}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{width:auto;margin:0}.footer{text-align:center;color:#a3afbf;font-size:11px;padding:15px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{max-width:440px;width:100%;background:#fff;padding:33px;border:1px solid var(--border);border-radius:20px;box-shadow:0 15px 60px rgba(35,55,85,.09)}.auth-card h1{font-size:25px}.auth-card p{line-height:1.65}.auth-card form{display:grid;gap:15px}.auth-card .brand-mark{margin-bottom:20px}.auth-card hr{border:0;border-top:1px solid var(--border);width:100%}@media(max-width:1100px){.main{padding:30px 22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}@media(max-width:700px){.shell{display:block}.sidebar{width:100%;height:auto;position:static;padding:12px 16px}.logo{padding:0 0 12px;font-size:18px}.brand-mark{height:35px;width:35px}.nav{display:flex;gap:4px;overflow-x:auto}.nav a{white-space:nowrap;padding:9px;font-size:11px}.side-bottom{display:none}.main{padding:23px 15px}.topbar{align-items:start;flex-direction:column}.topbar h1{font-size:27px}.top-actions{width:100%}.top-actions .btn{flex:1;font-size:11px;padding:11px 7px}.filters{align-items:start;gap:10px;flex-direction:column}.filters-form{width:100%}.filters-form label{flex:1;min-width:0}.filters input,.filters select{min-width:0;width:100%;font-size:12px}.privacy-note{display:none}.stats{gap:9px}.stat-card{padding:15px}.stat-card strong{font-size:19px}.stat-card small{font-size:10px}.stat-top{font-size:11px}.panel{padding:17px}.area-row{gap:8px}.area-row strong{font-size:12px}.area-title{font-size:12px}.area-title small{font-size:10px}.area-avatar{min-width:34px;height:34px}.form-grid{grid-template-columns:1fr;gap:12px}.form-grid .span2{grid-column:span 1}.form-footer{align-items:stretch;flex-direction:column}}

.settings-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.admin-wrap{max-width:900px;margin:36px auto;padding:0 18px}.admin-wrap .panel{margin-bottom:18px}.admin-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:22px}.admin-form{display:grid;gap:12px;max-width:540px}.admin-form label{font-weight:700;font-size:12px;color:#56677b}.admin-form input,.admin-form select{display:block;width:100%;padding:12px;border:1px solid #e3eaf3;border-radius:10px;margin-top:6px;background:#fff}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}}

/* v1.2 · Consistent field sizing and iPad/mobile overflow protection */
.filters-form,.form-grid,.admin-grid{min-width:0;max-width:100%}
.filters-form{flex-wrap:wrap;align-items:flex-end}
.filters-form>label{display:flex;flex-direction:column;min-width:0;flex:0 1 210px}
.filters-form>label>*{min-width:0;max-width:100%}
.filters input,.filters select{width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;margin-top:7px;padding:0 12px;line-height:normal}
.form-grid>label,.admin-grid>label,.admin-form>label{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere}
.form-grid input,.form-grid select,.admin-form input,.admin-form select,.auth-card input{box-sizing:border-box;min-width:0;max-width:100%;height:44px;min-height:44px;margin-top:7px;padding:0 12px;line-height:normal}
.form-grid input[type="date"],.form-grid input[type="month"],.filters input[type="date"],.filters input[type="month"]{min-width:0;width:100%;max-width:100%;overflow:hidden}
.form-grid .checkbox-label input[type="checkbox"]{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:0}
.form-grid .span2{min-width:0}
@media(max-width:700px){.filters-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.filters-form>label{width:100%;min-width:0;flex:auto}.filters input,.filters select,.form-grid input,.form-grid select{font-size:16px}}
@media(max-width:380px){.filters-form{grid-template-columns:1fr}}

/* v1.3: fixed desktop sidebar, flag menu next to Budget and inline edit */
@media(min-width:701px){.shell{height:100vh;min-height:0;overflow:hidden}.sidebar{position:relative;top:auto;height:100vh;overflow:hidden;flex-shrink:0}.main{height:100vh;overflow-y:auto;overscroll-behavior:contain}.nav{min-height:0;overflow-y:auto}}
.brand-head{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;position:relative;padding-bottom:36px}.brand-head .logo{padding:0 0 0 11px;min-width:0;gap:10px}.brand-head .brand-mark{flex-shrink:0}.lang-switch{position:relative;margin-top:10px;flex-shrink:0}.lang-toggle,.lang-options button{background:#fff;border:1px solid #e9edf4;border-radius:9px;min-width:35px;min-height:35px;font-size:20px;line-height:1;padding:5px;cursor:pointer}.lang-options{position:absolute;top:39px;right:0;z-index:30;border:1px solid #e9edf4;background:#fff;border-radius:10px;padding:5px;box-shadow:0 12px 28px rgba(35,55,85,.14);display:grid;gap:4px}.lang-options[hidden]{display:none}.lang-options button:hover{background:#f0f5ff}.row-actions{display:flex;align-items:center;gap:8px}.edit-link{display:inline-block;border-radius:7px;color:#2367d7;background:#ecf4ff;padding:8px 10px;font-weight:700}.edit-link:hover{background:#dceaff}.row-actions form{margin:0}
@media(max-width:700px){.brand-head{padding-bottom:12px}.brand-head .logo{padding:0}.lang-switch{margin-top:0}.row-actions{gap:5px}.edit-link{padding:7px 8px}}

/* v1.4 – precise, consistent alignment for sidebar and controls */
.brand-head{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;column-gap:5px;padding-bottom:35px}
.brand-head .logo{padding:0 0 0 7px;gap:9px;min-width:0;white-space:nowrap;font-size:21px}
.brand-head .logo>span:last-child{min-width:0}
.brand-head .brand-mark{width:40px;height:40px;flex:0 0 40px}
.lang-switch{margin:0;justify-self:end;align-self:center}
.lang-toggle{display:grid;place-items:center;width:36px;height:36px;padding:3px;font-size:21px}
.nav{display:flex;flex-direction:column;gap:7px}
.nav a{display:flex;align-items:center;gap:13px;width:100%;min-height:45px;padding:12px 13px;white-space:nowrap}
.nav-icon{display:inline-flex;justify-content:center;align-items:center;width:19px;min-width:19px;flex:0 0 19px;font-size:17px;line-height:1}
.filters-form{display:grid;grid-template-columns:repeat(2,minmax(0,210px));gap:12px;align-items:end}
.filters-form>label{display:flex;flex-direction:column;min-width:0;width:100%;flex:none}
.filters-form input,.filters-form select{display:block;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;margin-top:7px;border-radius:10px;box-sizing:border-box}
.settings-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px 18px;margin-top:22px}
.settings-links .btn{min-height:44px}
@media(max-width:700px){
 .brand-head{grid-template-columns:minmax(0,1fr) 38px;padding-bottom:12px}
 .brand-head .logo{padding:0;font-size:19px}
 .nav{flex-direction:row;overflow-x:auto;gap:5px}
 .nav a{width:auto;min-height:39px;padding:9px 11px;gap:7px}
 .nav-icon{width:16px;min-width:16px;flex-basis:16px;font-size:15px}
 .filters-form{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}
@media(max-width:380px){.filters-form{grid-template-columns:1fr}}

/* v1.6 layout correction: all six menu items share one icon column; flags are flat SVGs */
@media(min-width:701px){
 .sidebar{width:270px;padding:26px 18px;overflow:hidden}
 .brand-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 4px 30px!important;width:100%;min-height:68px}
 .brand-head .logo{display:flex!important;align-items:center!important;flex:1 1 auto;min-width:0;padding:0!important;margin:0!important;font-size:23px;line-height:1.12}
 .brand-head .logo>span:last-child{display:block;min-width:0}
 .brand-head .lang-switch{flex:0 0 38px;align-self:center!important;justify-self:auto!important;margin:0!important;position:relative}
 .nav{display:flex;flex-direction:column;gap:5px;align-items:stretch;padding:0;margin:0}
 .nav>a{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:13px!important;padding:12px 13px!important;min-height:48px;width:100%;text-align:left}
}
.nav-icon{width:22px!important;height:22px!important;min-width:22px!important;flex:0 0 22px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:0!important;line-height:1!important}
.nav-icon svg{display:block;width:19px;height:19px;flex:none}
.brand-head .brand-mark{display:none!important}
.flag-svg{display:block!important;width:28px;height:20px;max-width:28px;max-height:20px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.09);overflow:hidden}
.lang-toggle,.lang-options button{display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:34px!important;padding:3px!important;font-size:0!important;line-height:0!important;background:#fff!important;border:1px solid #e1e8f1!important;border-radius:8px!important}
.lang-options{right:0;left:auto;min-width:48px}
.filters-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,210px))!important;gap:14px!important;align-items:end!important;max-width:100%}
.filters-form>label{display:flex!important;flex-direction:column!important;width:210px!important;max-width:100%!important;flex:none!important;min-width:0!important}
.filters-form input[type=month],.filters-form select{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:46px!important;min-height:46px!important;box-sizing:border-box!important;padding:0 12px!important;margin:7px 0 0!important;line-height:normal!important;border:1px solid #e1e8f1!important;border-radius:10px!important;-webkit-appearance:none;appearance:none;background-color:#fff!important}
.filters-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23687889' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px!important}
.filters-form input[type=month]::-webkit-calendar-picker-indicator{opacity:.6}
@media(max-width:700px){
 .brand-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:0 0 12px!important}
 .brand-head .logo{padding:0!important;margin:0!important;flex:1;min-width:0}
 .brand-head .lang-switch{margin:0!important;flex:0 0 38px}
 .nav a{display:grid!important;grid-template-columns:22px max-content;gap:8px;align-items:center}
 .filters-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%}
 .filters-form>label{width:100%!important}
}
@media(max-width:380px){.filters-form{grid-template-columns:1fr!important}}
