:root{--ink:#193229;--green:#286448;--sage:#e4eee6;--paper:#f5f2ea;--white:#fff;--line:#deded5;--muted:#738078;--red:#ae4f45;--orange:#c68134;--blue:#5576b9;--shadow:0 16px 45px rgba(25,50,41,.09)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}aside{position:fixed;inset:0 auto 0 0;width:230px;background:var(--ink);color:#fff;padding:28px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:12px;font-size:18px;padding:0 9px 30px}.brand>b{display:grid;place-items:center;width:39px;height:39px;background:#e6efe7;color:var(--ink);border-radius:12px;font:italic 700 17px Georgia}.brand span{display:flex;flex-direction:column}.brand small{font-size:10px;font-weight:400;color:#9eb1a7;letter-spacing:.05em}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#aebdb5;border-radius:9px;padding:12px 13px;text-align:left;font-weight:650;font-size:14px}nav button span{margin-left:10px}nav button.active,nav button:hover{background:rgba(255,255,255,.1);color:#fff}.privacy{margin-top:auto;color:#8ea399;font-size:10px;padding:10px}main{margin-left:230px;min-height:100vh;padding:36px max(4vw,30px) 70px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}header h1{font:600 33px Georgia;margin:0}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:850;color:var(--green);margin:0 0 5px}.primary,.secondary{border:0;border-radius:9px;padding:11px 15px;font-weight:750}.primary{background:var(--green);color:#fff;box-shadow:0 5px 15px rgba(40,100,72,.18)}.secondary{background:#e9e7df;color:var(--ink)}.page{display:none}.page.active{display:block}.welcome{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(125deg,#e6efe4,#f2eee3);border:1px solid #d8dfd6;border-radius:19px;padding:38px 45px;margin-bottom:22px;overflow:hidden}.welcome h2{font:600 clamp(31px,4vw,52px)/1.03 Georgia;margin:4px 0 14px}.welcome h2 em{font-weight:400;color:var(--green)}.welcome p:last-child{color:var(--muted)}.today{width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.65);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d7dfd5;flex:0 0 auto}.today strong{font:600 54px/.9 Georgia}.today span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}.kpi span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.kpi strong{display:block;font:600 28px Georgia;margin-top:5px}.kpi small{color:var(--muted)}.kpi.positive strong{color:var(--green)}.kpi.negative strong{color:var(--red)}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;box-shadow:0 3px 18px rgba(25,50,41,.035)}article h3{margin:0;font-size:15px}.article-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.article-head button{border:0;background:transparent;color:var(--green);font-weight:750;font-size:12px}.list-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #efeee8}.list-item:first-child{border-top:0}.list-item .grow{flex:1}.list-item b{display:block}.list-item small,.hint{color:var(--muted);font-size:11px}.date-chip{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:var(--sage);font-weight:800;color:var(--green)}.money-line{display:grid;grid-template-columns:100px 1fr auto;gap:10px;align-items:center;margin:13px 0}.meter{height:8px;background:#ecebe5;border-radius:8px;overflow:hidden}.meter i{display:block;height:100%;background:var(--green)}.meter.expense i{background:var(--orange)}.section-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 11px;color:var(--muted);font-size:11px}.tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;cursor:pointer;transition:.2s}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.card-top{display:flex;justify-content:space-between;gap:12px}.company{font-size:10px;color:var(--green);font-weight:850;letter-spacing:.12em;text-transform:uppercase}.card h3{font:600 21px Georgia;margin:6px 0}.status{height:max-content;border-radius:999px;padding:5px 8px;background:#eee;font-size:10px;font-weight:800}.status.accepted{background:var(--sage);color:var(--green)}.status.rejected{background:#f5e4e1;color:var(--red)}.status.interview{background:#e5eaf5;color:#3f5d98}.status.sent,.status.waiting{background:#f5eadb;color:#8e5b22}.progress{height:5px;background:#ecece6;border-radius:5px;margin:19px 0 6px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green)}.card-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.month-label{color:var(--muted);font-size:11px}.month-label input{margin-left:7px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.transaction{display:grid;grid-template-columns:12px 1fr auto auto;gap:12px;align-items:center;padding:13px 3px;border-top:1px solid #efeee8;cursor:pointer}.transaction .dot{width:9px;height:9px;border-radius:50%;background:var(--green)}.transaction.expense .dot{background:var(--orange)}.transaction .amount{font-weight:800}.transaction.expense .amount{color:var(--red)}.calendar-nav{display:flex;align-items:center;gap:13px}.calendar-nav h2{font:600 24px Georgia;margin:0;min-width:190px;text-align:center}.calendar-nav button{border:1px solid var(--line);background:#fff;border-radius:8px;width:34px;height:34px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);background:var(--line);gap:1px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.day-head{background:#eeece5;padding:8px;text-align:center;color:var(--muted);font-size:10px;text-transform:uppercase}.day{background:#fff;min-height:100px;padding:8px}.day.outside{background:#f3f1eb;color:#aaa}.day.today-day>b{background:var(--green);color:#fff}.day>b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:11px}.event-pill{background:var(--sage);color:var(--green);font-size:9px;font-weight:700;padding:3px 5px;border-radius:4px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-bottom{margin-top:18px}.wide-btn{width:100%;margin-top:10px}.feed{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #eee}.feed .grow{flex:1}.feed button{border:0;background:transparent;color:var(--green);font-weight:700}.row{display:flex;gap:10px;flex-wrap:wrap}.file input{display:none}.copybox{display:flex;background:#f1f0ea;border-radius:8px;padding:9px;gap:8px}.copybox code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copybox button{border:0;background:var(--green);color:#fff;border-radius:6px}.setup{margin-top:18px}.status-ok{color:var(--green);font-weight:750}.empty{padding:35px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:16px;padding:0;width:min(760px,calc(100vw - 24px));max-height:92vh;color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(20,35,29,.6);backdrop-filter:blur(3px)}#modalForm{padding:25px}.modal-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px}.modal-head h2{font:600 28px Georgia;margin:0}.close{border:0;background:#eceae3;border-radius:50%;width:34px;height:34px;font-size:20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px 0}.field-grid label{font-size:11px;font-weight:750;color:#56645c}.field-grid input,.field-grid select,.field-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid #d9d8d1;border-radius:8px;padding:10px;background:#fbfaf7;outline:0}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{border-color:var(--green)}.field-grid .wide{grid-column:1/-1}.checks{display:flex;gap:8px;grid-column:1/-1}.checks label{background:#f1f3ef;padding:10px;border-radius:8px;flex:1}.actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:9px;border-top:1px solid var(--line);padding-top:17px}.danger{border:0;background:#f6e4e1;color:var(--red);border-radius:9px;padding:10px 14px;font-weight:750}.hidden{display:none!important}#toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:#fff;padding:11px 16px;border-radius:9px;opacity:0;transform:translateY(20px);transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:none}
@media(max-width:850px){aside{inset:auto 0 0 0;width:auto;height:64px;padding:6px 10px}.brand,.privacy{display:none}nav{display:flex;justify-content:space-around}nav button{padding:9px 12px;text-align:center}nav button span{display:block;margin:0;font-size:9px}main{margin:0;padding:25px 18px 90px}.welcome{padding:28px}.today{display:none}.grid.two{grid-template-columns:1fr}.calendar{overflow-x:auto}.day{min-height:76px}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.actions{grid-template-columns:1fr 1fr}.actions span{display:none}}@media(max-width:520px){header .primary{display:none}.kpis{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.calendar{font-size:10px}.day{padding:4px;min-height:65px}.event-pill{display:none}.checks{flex-direction:column}.section-tools{align-items:flex-start;gap:10px;flex-wrap:wrap}}
.auth-screen{position:fixed;inset:0;background:linear-gradient(130deg,#193229,#315947);display:grid;place-items:center;z-index:50}.auth-card{width:min(390px,calc(100vw - 30px));background:#fff;border-radius:18px;padding:28px;box-shadow:0 30px 80px #0006}.auth-card .brand{color:var(--ink);padding:0 0 24px}.auth-card label{display:block;font-weight:700;font-size:12px;margin:12px 0}.auth-card input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:8px}.auth-card .primary{width:100%;margin-top:12px}.auth-card p{color:var(--red)}.module-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.module-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;color:var(--green);font-weight:750}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.feature-row{display:flex;gap:9px;padding:10px 0;border-top:1px solid #eee;cursor:pointer}.feature-row div{display:flex;flex-direction:column}.feature-row small{color:var(--muted)}.feature-row input{accent-color:var(--green)}.share-request{background:#fff5dc;border-radius:8px;padding:9px;margin:8px 0}.share-request button{border:0;border-radius:6px;margin-left:6px;padding:5px 8px}
.settings-row{margin-top:18px}.version-line{display:flex;justify-content:space-between;align-items:center;background:var(--sage);padding:10px 12px;border-radius:8px;margin:14px 0}.command{display:block;background:var(--ink);color:#dce8df;padding:10px 12px;border-radius:8px;overflow:auto}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px}.plan-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.plan-card-head h3{font:600 21px Georgia;margin:3px 0}.plan-type{font-size:10px;color:var(--green);font-weight:850;letter-spacing:.1em;text-transform:uppercase}.plan-edit{border:0;background:#efede6;border-radius:8px;width:32px;height:32px}.plan-progress{font-size:11px;color:var(--muted);margin:9px 0}.plan-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;padding:9px 0;border-top:1px solid #efeee8}.plan-item input{margin-top:4px;accent-color:var(--green)}.plan-item.done span{text-decoration:line-through;color:#99a099}.plan-item button{border:0;background:transparent;color:#aaa}.quick-item{display:flex;gap:7px;margin-top:12px}.quick-item input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px}.quick-item button{border:0;background:var(--green);color:#fff;border-radius:8px;width:37px;font-size:18px}
.offline-banner{position:fixed;left:50%;bottom:18px;z-index:80;transform:translateX(-50%);width:min(560px,calc(100vw - 28px));padding:12px 16px;border-radius:10px;background:#8d3f37;color:#fff;text-align:center;font-weight:750;box-shadow:0 10px 30px #0003}
@media(max-width:850px){body{padding-bottom:env(safe-area-inset-bottom)}aside{height:calc(68px + env(safe-area-inset-bottom));padding:5px 4px calc(5px + env(safe-area-inset-bottom))}nav{width:100%;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}nav::-webkit-scrollbar{display:none}nav button{flex:1 0 74px;min-height:54px;padding:6px 4px;white-space:nowrap}main{padding:20px 14px calc(94px + env(safe-area-inset-bottom))}header{margin-bottom:20px;gap:10px}header h1{font-size:28px}.welcome{padding:24px 20px;border-radius:15px}.welcome h2{font-size:34px}.section-tools>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.section-tools button,.module-actions button,.primary,.secondary{min-height:44px}.calendar{grid-template-columns:repeat(7,minmax(82px,1fr));min-width:574px}#calendar.page.active{overflow-x:auto}.calendar-nav{width:100%;justify-content:space-between}.calendar-nav h2{font-size:21px;min-width:0}.calendar-bottom{min-width:0}.transaction{grid-template-columns:12px minmax(0,1fr) auto}.transaction>span:not(.amount){display:none}.copybox{align-items:stretch;flex-direction:column}.copybox code{white-space:normal;overflow-wrap:anywhere}dialog{max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}#modalForm{padding:18px;max-height:calc(100dvh - 16px);overflow-y:auto}.modal-head{position:sticky;top:-18px;z-index:2;background:#fff;padding-top:18px}.actions{position:sticky;bottom:-18px;z-index:2;background:#fff;padding-bottom:18px}input,select,textarea{font-size:16px!important}#toast{right:14px;bottom:calc(84px + env(safe-area-inset-bottom));left:14px;text-align:center}.offline-banner{bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:520px){.auth-screen{padding:12px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.auth-card{padding:22px;width:100%;max-height:100%;overflow:auto}.cards,.plan-grid,.module-grid{grid-template-columns:minmax(0,1fr)}article,.plan-card,.card{padding:16px}.money-line{grid-template-columns:82px minmax(0,1fr);gap:8px}.money-line b{grid-column:2;text-align:right}.card-top{flex-direction:column}.status{align-self:flex-start}.card-meta{gap:8px;flex-wrap:wrap}.attachment-link{max-width:100%;overflow:hidden;text-overflow:ellipsis}.actions{grid-template-columns:1fr 1fr}.actions .danger{grid-column:1/-1}.field-grid{padding:14px 0}}
.update-form{display:grid;gap:11px}.update-form label{font-size:11px;font-weight:750;color:#56645c}.update-form input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfaf7}.member-row{display:flex;align-items:center;gap:9px;padding:11px 0;border-top:1px solid #efeee8}.member-row .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.member-row .grow{display:flex;flex:1;min-width:0;flex-direction:column}.member-row small{color:var(--muted)}.compact{min-height:34px!important;padding:6px 9px;font-size:11px}@media(max-width:650px){.member-row{align-items:flex-start;flex-wrap:wrap}.member-row .grow{flex-basis:calc(100% - 25px)}.member-row button{flex:1}.update-form .primary{width:100%}}
.quick-actions{display:flex;gap:8px;overflow-x:auto;margin:-12px 0 24px;padding:4px 1px 8px;scrollbar-width:none}.quick-actions::-webkit-scrollbar{display:none}.quick-actions button{flex:0 0 auto;border:1px solid #cfd8d1;background:#fff;color:var(--green);border-radius:999px;padding:9px 13px;font-weight:750}.admin-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(125deg,#193229,#315947);color:#fff;border-radius:18px;padding:28px 32px;margin-bottom:18px}.admin-hero h2{font:600 30px Georgia;margin:3px 0}.admin-hero p:last-child{color:#c8d6ce}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-users{margin-top:18px}.admin-user{border-top:1px solid var(--line);padding:9px 0 16px}.permission-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;background:#f4f3ee;border-radius:10px;padding:12px}.permission-grid label,.role-line label{font-size:10px;font-weight:750;color:var(--muted)}.permission-grid select,.role-line select{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px}.role-line{max-width:220px;margin:5px 0 9px}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.quick-actions{margin-top:-8px}.admin-hero{align-items:flex-start;flex-direction:column;gap:14px;padding:22px 18px}.admin-hero .primary{display:block}.permission-grid{grid-template-columns:1fr}.admin-user .member-row button{flex:1 0 42%}}
.finance-selector{margin-bottom:16px}.member-filter{display:flex;gap:8px;flex-wrap:wrap}.member-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#fff;color:var(--muted);cursor:pointer;font-weight:700}.member-chip.active{border-color:var(--green);background:var(--sage);color:var(--green)}.member-chip input{position:absolute;opacity:0;pointer-events:none}.member-chip i,.member-finance i{width:10px;height:10px;border-radius:50%}.finance-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 18px}.member-finance{display:grid;gap:7px}.member-finance>div{display:flex;align-items:center;gap:8px}.member-finance span{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.member-finance b{color:var(--ink)}.positive-text b{color:var(--green)}.negative-text b{color:var(--red)}@media(max-width:520px){.finance-selector .article-head{align-items:flex-start;flex-direction:column;gap:10px}.member-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.member-chip{flex:0 0 auto}.finance-member-grid{grid-template-columns:1fr}}
