.login-layout{background:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:100vh;width:100%}.login-showcase{background:#082d58;color:#fff;display:flex;min-height:100vh;overflow:hidden;position:relative}.login-hero-image{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.login-hero-overlay{background:linear-gradient(180deg,#06244830,#06244812 42%,#062448ec);inset:0;position:absolute}.showcase-content{display:flex;flex-direction:column;justify-content:space-between;padding:42px 5.5% 28px;position:relative;width:100%;z-index:1}.login-brand{align-items:center;display:flex;gap:13px}.login-brand span,.login-brand strong{display:block}.login-brand strong{font-size:21px;letter-spacing:-.03em}.login-brand span{color:#fff;font-size:12px;font-weight:600;margin-top:4px}.login-logo-frame{background:#fff;border-radius:10px;box-shadow:0 8px 24px #031b3544;display:grid;height:64px;overflow:hidden;place-items:center;position:relative;width:64px}.login-logo{height:auto;left:50%;max-width:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:150px}.showcase-copy{max-width:650px}.showcase-copy h1{font-size:clamp(34px,3.45vw,58px);letter-spacing:-.055em;line-height:1.02;margin:0}.showcase-copy h1 span{color:#fff}.showcase-copy>p{color:#fff;font-size:clamp(16px,1.35vw,22px);line-height:1.35;margin:18px 0 0;max-width:600px}.showcase-footer{color:#e4edf8;font-size:12px;margin:0}.login-form-area{align-items:center;background:#fff;display:flex;justify-content:center;padding:60px clamp(36px,6vw,105px)}.login-form-card{border:0;max-width:480px;padding:0;width:100%}.form-logo{display:flex;height:116px;justify-content:center;margin-bottom:20px;overflow:hidden}.form-logo img{height:auto;object-fit:contain;width:190px}.login-form-card h2{color:#0d2345;font-size:clamp(34px,3vw,48px);letter-spacing:-.055em;line-height:1.05;margin:0}.form-intro{color:#65738a;font-size:18px;margin:18px 0 38px}.login-form-card form{grid-gap:10px;display:grid;gap:10px}.login-form-card label,.password-label-row label{color:#132442;font-size:17px;font-weight:700}.password-label-row{align-items:center;display:flex;justify-content:space-between;margin-top:14px}.password-label-row span{display:none}.login-input-wrap{align-items:center;display:flex;margin-bottom:4px;position:relative}.login-input-wrap>svg{color:#62738c;left:20px;pointer-events:none;position:absolute}.login-input-wrap input{border:1px solid #c9d1de;border-radius:10px;color:#132442;font-size:17px;height:62px;outline:0;padding:12px 52px;transition:border .2s,box-shadow .2s;width:100%}.login-input-wrap input:focus{border-color:#1769aa;box-shadow:0 0 0 3px #1769aa1c}.login-input-wrap input::placeholder{color:#718096}.password-toggle{background:#0000;border:0;color:#62738c;cursor:pointer;display:grid;padding:7px;place-items:center;position:absolute;right:13px}.password-toggle:hover{color:#132442}.login-error{background:#fff5f5;border:1px solid #f1c9c9;border-radius:7px;color:#a33;font-size:12px;margin:8px 0 2px;padding:10px 12px}.login-submit{align-items:center;background:#0868ca;border:0;border-radius:10px;box-shadow:0 8px 18px #0868ca25;color:#fff;cursor:pointer;display:flex;font-size:19px;font-weight:800;gap:14px;height:64px;justify-content:center;margin-top:16px;transition:background .2s,transform .2s}.login-submit:hover:not(:disabled){background:#0758ab;transform:translateY(-1px)}.login-submit:disabled{cursor:wait;opacity:.75}.login-spinner{animation:login-spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:19px;width:19px}.login-note{color:#65738a;font-size:15px;line-height:1.45;margin:26px 0 0;text-align:center}.mobile-login-brand{display:none}@keyframes login-spin{to{transform:rotate(1turn)}}@media(max-width:1000px){.login-layout{grid-template-columns:minmax(0,1.2fr) minmax(390px,.85fr)}.showcase-content{padding-inline:6%}.login-form-area{padding-inline:42px}}@media(max-width:760px){.login-layout{display:block}.login-showcase{height:38vh;min-height:275px}.login-hero-overlay{background:linear-gradient(180deg,#06244820,#062448dc)}.showcase-content{padding:24px 22px 22px}.login-brand strong{font-size:17px}.login-brand span{font-size:10px}.login-brand .login-logo-frame{height:52px;width:52px}.login-brand .login-logo{width:122px}.showcase-copy{display:none}.showcase-footer{font-size:10px}.login-form-area{min-height:62vh;padding:34px 22px 42px}.login-form-card{max-width:520px}.form-logo{height:86px;margin-bottom:17px}.form-logo img{width:145px}.login-form-card h2{font-size:34px}.form-intro{font-size:15px;margin:14px 0 28px}.login-form-card label,.password-label-row label{font-size:14px}.login-input-wrap input{font-size:14px;height:54px}.login-submit{font-size:16px;height:56px}.login-note{font-size:12px}.mobile-login-brand{display:none}}.login-hero-image{background:#082d58;object-position:center top;transform:none;transform-origin:center}.login-hero-overlay{background:linear-gradient(180deg,#06244842,#06244858 28%,#062448b8 62%,#062448f2)}.showcase-copy{text-shadow:0 2px 8px #031b3580;transform:translateY(34px)}.showcase-kicker{color:#9fd6b4;font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 12px;text-transform:uppercase}.showcase-copy>p:not(.showcase-kicker){color:#d0e2f1;font-size:14px;line-height:1.65;margin:18px 0 0;max-width:440px}.showcase-copy ul{grid-gap:14px;display:grid;gap:14px;list-style:none;margin:30px 0 0;padding:0}.showcase-copy li{align-items:flex-start;color:#f4f8fc;display:flex;font-size:13px;gap:11px}.showcase-copy li svg{color:#9fd6b4;flex:none}.login-form-area{background:#f7f9ff;padding:48px 32px}.login-form-card{background:#fff;border:1px solid #d0d4e4;border-radius:16px;box-shadow:0 12px 35px #233f5e0b;max-width:430px;padding:36px}.form-kicker{color:#1769aa;font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 8px;text-transform:uppercase}.login-form-card h2{color:#323338;font-size:27px;letter-spacing:-.04em}.form-intro{color:#676879;margin:7px 0 28px}.form-intro,.login-form-card label,.password-label-row label{font-size:13px}.login-input-wrap input{padding:12px 43px}.login-input-wrap input,.login-submit{border-radius:8px;font-size:13px;height:auto}.login-submit{margin-top:18px;padding:13px}.login-note{color:#8b8e99;font-size:11px;margin-top:24px}@media(max-width:760px){.login-hero-image{transform:scale(1)}.login-form-area{background:#f7f9ff}.login-form-area,.login-form-card{padding:30px 24px}.login-form-card h2{font-size:27px}.form-intro{margin:7px 0 28px}.login-input-wrap input{height:auto}.login-submit{height:auto;padding:13px}}.finance-page{padding-top:38px}.finance-cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin:24px 0}.finance-metric{min-height:126px}.finance-overview-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1.25fr 1fr}.finance-panel{min-width:0}.finance-section-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.finance-panel>h2,.finance-section-heading h2{margin-bottom:18px}.finance-period{background:#eaf3fb;border-radius:5px;color:var(--blue);font-size:10px;font-weight:800;padding:5px 9px}.finance-month{margin-top:18px}.finance-month>div:first-child{display:flex;font-size:11px;gap:12px;justify-content:space-between}.finance-month span{color:var(--muted);text-align:right}.finance-sources{grid-gap:0;display:grid;gap:0}.finance-source{align-items:center;border-bottom:1px solid #edf1f5;display:flex;gap:16px;justify-content:space-between;padding:14px 0}.finance-source:last-child{border-bottom:0}.finance-source small,.finance-source strong{display:block}.finance-source strong{font-size:13px}.finance-source small{color:var(--muted);font-size:10px;margin-top:4px}.finance-source b{color:var(--green);font-size:13px;white-space:nowrap}.finance-table-panel{margin-top:18px}.finance-table-panel .table-heading{align-items:flex-end}.finance-table-panel .table-heading h2{margin-bottom:6px}.finance-table-panel .table-heading .muted{font-size:11px;margin:0}.finance-pagination{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;font-size:11px;gap:16px;justify-content:space-between;padding:14px 18px}.finance-pagination>div{align-items:center;display:flex;gap:10px}.finance-pagination button{background:var(--white);border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;font-size:11px;padding:7px 10px}.finance-pagination button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.finance-pagination button:disabled{cursor:not-allowed;opacity:.45}.finance-pagination strong{color:var(--ink);font-size:11px;white-space:nowrap}@media(max-width:1000px){.finance-cards{grid-template-columns:repeat(2,1fr)}.finance-overview-grid{grid-template-columns:1fr}}@media(max-width:650px){.finance-page{padding-top:25px}.finance-cards{grid-template-columns:1fr}.finance-pagination,.finance-table-panel .table-heading{align-items:flex-start}.finance-pagination{flex-direction:column}.finance-pagination>div{justify-content:space-between;width:100%}}.finance-header-actions{align-items:center;display:flex;gap:10px}.finance-primary-button,.finance-secondary-button{align-items:center;border:1px solid #0000;border-radius:7px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;justify-content:center;padding:10px 14px}.finance-primary-button{background:var(--blue);color:#fff}.finance-primary-button:hover{background:#0b5b97}.finance-secondary-button{background:#fff;border-color:var(--line);color:var(--ink)}.finance-secondary-button:hover{border-color:var(--blue);color:var(--blue)}.finance-form-panel{margin-bottom:18px;padding:22px}.finance-form-heading{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:18px}.finance-form-heading h2{margin:0}.finance-close{background:#0000;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:grid;padding:5px;place-items:center}.finance-close:hover{background:var(--paper);color:var(--ink)}.finance-form{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.finance-form label{grid-gap:6px;color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.finance-form input,.finance-form select,.finance-form textarea{background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:13px;outline:0;padding:10px;width:100%}.finance-form textarea{min-height:76px;resize:vertical}.finance-form input:focus,.finance-form select:focus,.finance-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769aa1c}.finance-form-wide{grid-column:span 2}.finance-form-error{background:#fff0f0;border-radius:6px;color:#a33;font-size:12px;grid-column:1/-1;margin:0;padding:10px}.finance-form-actions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}.finance-row-actions{display:flex;gap:5px}.finance-row-actions button{background:#0000;border:0;border-radius:5px;color:var(--muted);cursor:pointer;display:grid;padding:6px;place-items:center}.finance-row-actions button:hover{background:#eaf3fb;color:var(--blue)}.finance-row-actions button:last-child:hover{background:#fff0f0;color:#b42318}.finance-table-panel table{min-width:900px}@media(max-width:800px){.finance-header-actions{align-items:stretch;flex-direction:column}.finance-form{grid-template-columns:1fr}.finance-form-actions,.finance-form-wide{grid-column:auto}.finance-form-actions button{flex:1 1}}@media print{body{background:#fff!important}.app>aside,.finance-form-panel,.finance-header-actions,.finance-pagination,.finance-row-actions,.table-heading .search{display:none!important}.content,body .app .content{margin:0!important;max-width:none!important;padding:0!important;width:100%!important}.finance-page header{margin-bottom:18px}.finance-cards{grid-template-columns:repeat(4,1fr);margin:12px 0}.finance-overview-grid{gap:12px;grid-template-columns:1.25fr 1fr}.panel{box-shadow:none}.finance-table-panel{margin-top:12px}.table-scroll{overflow:visible}table{font-size:9px;min-width:0!important}td,th{padding:6px}.finance-page .eyebrow{font-size:8px}}.finance-filters{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.5fr .8fr .8fr .8fr auto;margin-top:20px;padding:16px}.crm-field,.finance-filters label{grid-gap:6px;color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.crm-budget-form input,.crm-budget-form select,.crm-finance-form input,.crm-finance-form select,.crm-finance-form textarea,.finance-filters input,.finance-filters select{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:13px;padding:10px;width:100%}.finance-report-bar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-top:14px;padding:14px 16px}.finance-report-bar span,.finance-report-bar strong{display:block}.finance-report-bar span{color:var(--muted);font-size:11px;margin-top:4px}.finance-report-actions{display:flex;gap:8px}.finance-report-actions button{background:#0000;border:0;color:var(--blue);gap:6px}.finance-report-actions button:hover{text-decoration:underline}.finance-cards{grid-template-columns:repeat(6,1fr);margin:14px 0}.finance-metric{min-height:105px}.finance-metric>div{align-items:center;color:var(--muted);display:flex;justify-content:space-between}.finance-metric>div svg{width:18px}.finance-metric.danger strong{color:#c23b48}.finance-crm-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.finance-execution-panel,.finance-expenses-panel{min-width:0}.crm-section-title{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:16px 18px}.crm-section-title h2{margin:0}.crm-section-title>span{color:var(--muted);font-size:11px}.crm-section-title button{background:#0000;border:0;color:var(--blue);cursor:pointer;font-size:11px;font-weight:800}.finance-search{align-items:center;background:#fff;border:1px solid #c7d6e3;border-radius:7px;color:var(--blue);display:flex;gap:9px;margin:14px 16px;padding:0 10px}.finance-search input{border:0;color:var(--ink);flex:1 1;font-size:12px;outline:0;padding:10px 0}.finance-search button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid}.finance-search button:hover{color:var(--ink)}.crm-finance-table{min-width:980px}.crm-finance-table td em,.crm-finance-table td small{color:var(--muted);display:block;font-size:10px;font-style:normal;margin-top:4px}.crm-finance-table td em{color:var(--blue);font-weight:700}.project-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.status-pill{border-radius:999px;display:inline-flex;font-size:10px;font-weight:800;padding:5px 8px}.status-pill.open{background:#fff5df;color:#a66a00}.status-pill.paid{background:#e8f7ef;color:#18814b}.status-pill.cancelled{background:#f0f1f3;color:#687080}.finance-empty{color:var(--muted);font-size:12px;padding:40px 16px;text-align:center}.execution-list{max-height:600px;overflow-y:auto}.execution-line{border-bottom:1px solid #edf1f5;padding:15px 16px}.execution-line>div:first-child{display:flex;gap:10px;justify-content:space-between}.execution-line strong{font-size:12px}.execution-line span{color:var(--muted);display:block;font-size:10px;margin-top:4px}.execution-percent{color:var(--muted);float:right;font-size:11px}.execution-percent button{background:#0000;border:0;color:var(--muted);cursor:pointer;margin-left:5px}.execution-bar{background:#edf1f5;border-radius:99px;height:7px;margin-top:10px}.execution-bar i{background:var(--blue);border-radius:inherit;display:block;height:100%}.execution-line>small{color:var(--muted);display:block;font-size:10px;margin-top:6px}.finance-pagination{background:#fff}.finance-pagination select{border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:11px;padding:6px}.finance-modal-backdrop{background:#1023356b;display:grid;inset:0;padding:22px;place-items:center;position:fixed;z-index:50}.finance-modal{background:#fff;border-radius:9px;box-shadow:0 18px 55px #0e24373d;max-height:calc(100vh - 44px);overflow:auto;width:min(760px,100%)}.finance-modal-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 22px}.finance-modal-header h2{font-size:18px;margin:0}.finance-modal-header button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid;padding:5px}.crm-budget-form,.crm-finance-form{grid-gap:15px;display:grid;gap:15px;padding:20px 22px}.form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.crm-field>span{display:block}.crm-finance-form textarea{min-height:82px;resize:vertical}.modal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.budget-modal-list{max-height:270px;overflow:auto;padding:8px 22px}.budget-modal-list>div{align-items:center;border-bottom:1px solid #edf1f5;display:flex;gap:6px;padding:10px 0}.budget-modal-list span{flex:1 1}.budget-modal-list small,.budget-modal-list strong{display:block}.budget-modal-list small{color:var(--muted);font-size:10px;margin-top:3px}.budget-modal-list button{background:#0000;border:0;border-radius:5px;color:var(--muted);cursor:pointer;display:grid;padding:6px}.budget-modal-list button:hover{background:#eaf3fb;color:var(--blue)}.crm-budget-form{border-top:1px solid var(--line)}.crm-budget-form h3{font-size:14px;margin:0}@media(max-width:1100px){.finance-cards{grid-template-columns:repeat(3,1fr)}.finance-filters{grid-template-columns:repeat(2,1fr)}.finance-budget-button{grid-column:1/-1}.finance-crm-grid{grid-template-columns:1fr}}@media(max-width:650px){.finance-header-actions{align-items:stretch;flex-direction:column}.finance-report-bar{align-items:flex-start;flex-direction:column}.finance-cards{grid-template-columns:repeat(2,1fr)}.finance-filters{grid-template-columns:1fr}.finance-budget-button{grid-column:auto}.form-grid{grid-template-columns:1fr}.finance-pagination{align-items:flex-start;flex-direction:column}.finance-pagination>div{justify-content:space-between;width:100%}}.finance-project-filter{display:flex;gap:6px}.finance-project-filter select{flex:1 1;min-width:0}.finance-project-filter button{background:var(--blue);border:0;border-radius:6px;color:#fff;cursor:pointer;display:grid;place-items:center;width:38px}.finance-project-filter button:hover{background:#0b5b97}.finance-filter-actions{align-items:end;display:flex;gap:8px}.finance-filter-actions button{white-space:nowrap}@media(max-width:1100px){.finance-filter-actions{grid-column:1/-1}}@media(max-width:650px){.finance-filter-actions{align-items:stretch;flex-direction:column}.finance-filter-actions button{width:100%}}.finance-report-actions button{align-items:center;background:#fff!important;border:1px solid var(--line)!important;border-radius:7px;color:var(--ink)!important;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:7px;justify-content:center;padding:9px 13px!important;transition:.15s ease}.finance-report-actions button:hover{background:#eaf3fb!important;border-color:var(--blue)!important;color:var(--blue)!important;text-decoration:none!important}.execution-line-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.execution-line-header>div:first-child{min-width:0}.execution-percent{flex:0 0 auto;float:none;white-space:nowrap}.execution-line-meta{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:6px}.execution-line-meta small{margin-top:0}.execution-line-meta .execution-percent{color:var(--muted);font-size:11px}.budget-project-filter{margin:16px 22px 0}.budget-project-filter select{margin-top:0}.pagination{border-top:1px solid var(--line);color:var(--muted);font-size:11px;gap:16px;justify-content:space-between;padding:14px 18px}.pagination,.pagination>div{align-items:center;display:flex}.pagination>div{gap:10px}.pagination button{background:var(--white);border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;font-size:11px;padding:7px 10px}.pagination button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.pagination button:disabled{cursor:not-allowed;opacity:.45}.pagination strong{color:var(--ink);font-size:11px;white-space:nowrap}.dashboard-page{padding-top:38px}.dashboard-filters{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.5fr .8fr .8fr .8fr;margin-bottom:18px;padding:16px}.dashboard-filters label{grid-gap:6px;color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.dashboard-filters input,.dashboard-filters select{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:13px;padding:10px;width:100%}.dashboard-metrics{grid-template-columns:repeat(6,1fr);margin:0 0 18px}.dashboard-metric{min-height:126px}.dashboard-metric-icon{background:#eaf3fb;border-radius:8px;color:var(--blue);display:grid;height:32px;margin-bottom:13px;place-items:center;width:32px}.dashboard-metric-icon svg{width:17px}.dashboard-metric.green .dashboard-metric-icon{background:#e8f5ed;color:var(--green)}.dashboard-metric.orange .dashboard-metric-icon{background:#fff0e6;color:var(--orange)}.dashboard-metric.danger .dashboard-metric-icon{background:#fff0f0;color:#c23b48}.dashboard-metric.danger strong{color:#c23b48}.dashboard-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1.35fr 1fr}.dashboard-panel{min-width:0}.dashboard-section-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.dashboard-section-heading h2{margin:0}.dashboard-section-heading>span{color:var(--muted);font-size:11px}.dashboard-line{border-bottom:1px solid #edf1f5;padding:13px 0;position:relative}.dashboard-line:last-child{border-bottom:0}.dashboard-line>div:first-child{display:flex;gap:12px;justify-content:space-between;padding-right:44px}.dashboard-line strong{font-size:12px}.dashboard-line small,.dashboard-line span{color:var(--muted);display:block;font-size:10px;margin-top:4px}.dashboard-line>b{color:var(--muted);font-size:11px;position:absolute;right:0;top:14px}.dashboard-line-bar{background:#edf1f5;border-radius:99px;height:7px;margin-top:10px}.dashboard-line-bar i{background:var(--blue);border-radius:inherit;display:block;height:100%}.dashboard-empty,.dashboard-loading{color:var(--muted);font-size:12px;padding:24px;text-align:center}.dashboard-loading{padding:0 0 14px;text-align:left}.dashboard-callout{grid-gap:5px;background:#f4f8fc;border-radius:8px;display:grid;gap:5px;padding:15px}.dashboard-callout strong{font-size:15px}.dashboard-callout span{color:var(--muted);font-size:11px}.dashboard-summary-row{border-bottom:1px solid #edf1f5;display:flex;font-size:12px;gap:12px;justify-content:space-between;padding:14px 0}.dashboard-summary-row:last-child{border-bottom:0}.dashboard-summary-row span{color:var(--muted)}.dashboard-summary-row strong{white-space:nowrap}.dashboard-page .dashboard-metric small{display:block}.dashboard-page .dashboard-metric>strong{display:block;font-size:20px;margin-top:5px}@media(max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:650px){.dashboard-page{padding-top:25px}.dashboard-filters{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}.dashboard-budget-chart{align-items:center;border-bottom:1px solid #edf1f5;display:flex;gap:34px;justify-content:center;padding:12px 0 24px}.dashboard-donut{border-radius:50%;display:grid;height:144px;place-items:center;width:144px}.dashboard-donut>div{background:#fff;border-radius:50%;display:grid;height:94px;place-items:center;width:94px}.dashboard-donut strong{font-size:24px}.dashboard-donut small{color:var(--muted);font-size:10px}.dashboard-chart-legend{grid-gap:12px;display:grid;gap:12px;min-width:190px}.dashboard-chart-legend span{grid-gap:7px;align-items:center;color:var(--muted);display:grid;font-size:11px;gap:7px;grid-template-columns:10px 1fr auto}.dashboard-chart-legend span strong{color:var(--ink);font-size:13px;grid-column:2/4}.dashboard-chart-legend i{border-radius:50%;height:9px;width:9px}.legend-spent{background:var(--blue)}.legend-remaining{background:#e8eef5}.dashboard-chart-legend>small{color:var(--muted);font-size:10px}.dashboard-chart-heading{margin-top:22px}.dashboard-bars{grid-gap:13px;display:grid;gap:13px}.dashboard-bar-row>div:first-child{color:var(--muted);display:flex;font-size:11px;gap:12px;justify-content:space-between}.dashboard-bar-row strong{color:var(--ink);font-size:11px}.dashboard-horizontal-bar{background:#edf1f5;border-radius:99px;height:8px;margin-top:6px}.dashboard-horizontal-bar i{background:var(--blue);border-radius:inherit;display:block;height:100%}@media(max-width:650px){.dashboard-budget-chart{align-items:flex-start;gap:20px}.dashboard-donut{height:112px;width:112px}.dashboard-donut>div{height:76px;width:76px}.dashboard-donut strong{font-size:19px}.dashboard-chart-legend{min-width:0}}.dashboard-financial-chart{grid-gap:17px;display:grid;gap:17px;margin-top:22px}.dashboard-financial-bar>div:first-child{color:var(--muted);display:flex;font-size:11px;gap:12px;justify-content:space-between}.dashboard-financial-bar strong{color:var(--ink);font-size:12px}.dashboard-financial-track{background:#edf1f5;border-radius:99px;height:9px;margin-top:7px}.dashboard-financial-track i{border-radius:inherit;display:block;height:100%}.dashboard-financial-track i.blue{background:var(--blue)}.dashboard-financial-track i.green{background:#3b9c68}.dashboard-financial-track i.orange{background:#df8a4b}.dashboard-financial-track i.red{background:#c23b48}.app{display:block}body .app aside{background:#0b315d;border-right:1px solid #082448;color:#eef6ff;height:100vh;inset:0 auto 0 0;overflow-y:auto;position:fixed;width:250px;z-index:10}.brand{padding:0 8px 34px}.brand-logo{background:#fff;border-radius:10px;box-shadow:0 4px 12px #031b3544;flex:0 0 44px;height:44px;overflow:hidden;position:relative;width:44px}.brand-logo img{height:auto;left:50%;max-width:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:106px}.brand strong{color:#fff}.brand small{color:#b4cde4}.app aside nav{gap:4px}.app aside nav a{color:#d0e2f1}.app aside nav a.active{background:#eaf3fb;color:#1769aa}.app aside nav a:hover{background:#ffffff20;color:#fff}.app aside nav a.active svg{color:#1769aa}.app aside nav a:hover svg{color:#fff}.sidebar-spacer{flex:1 1}.sidebar-bottom{grid-gap:4px;border-top:1px solid #ffffff40;display:grid;gap:4px;margin:20px -18px -22px;padding:14px 18px 22px}.sidebar-action,.sidebar-bottom .logout{align-items:center;background:#0000;border:0;border-radius:7px;color:#d0e2f1;cursor:pointer;display:flex;font-size:13px;gap:9px;padding:10px;text-align:left;width:100%}.sidebar-action:hover,.sidebar-bottom .logout:hover{background:#ffffff20;color:#fff}.sidebar-bottom .logout{border-top:0;margin:0}body .app .content{margin:0 0 0 250px;max-width:none;width:calc(100% - 250px)}@media(max-width:650px){.pagination{align-items:flex-start;flex-direction:column}.pagination>div{justify-content:space-between;width:100%}body .app aside{height:auto;overflow:visible;position:static;width:auto}.content,body .app .content{margin:0;width:100%}.sidebar-spacer{display:none}.sidebar-bottom{display:flex;margin:18px -18px -18px;padding:12px 18px}.sidebar-action,.sidebar-bottom .logout{display:inline-flex;margin-right:8px;width:auto}}.reports-page{padding-top:38px}.reports-filters{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.5fr .8fr .8fr 1.5fr;margin-bottom:18px;padding:16px}.reports-filters label{grid-gap:6px;color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.reports-filters input,.reports-filters select{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:13px;padding:10px;width:100%}.reports-filter-summary{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:9px;justify-content:flex-end;min-height:40px}.reports-filter-summary strong{color:var(--ink);font-size:20px}.reports-table-panel{overflow:hidden;padding:0}.reports-heading{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;padding:20px 22px}.reports-heading>div:first-child{flex:1 1}.reports-heading h2{margin:0}.reports-search{align-items:center;border:1px solid var(--line);border-radius:7px;color:var(--muted);display:flex;gap:8px;padding:8px 10px;width:280px}.reports-search input{border:0;font-size:12px;outline:0;width:100%}.reports-export{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--ink);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:7px;padding:9px 12px}.reports-export:hover{border-color:var(--blue);color:var(--blue)}.reports-empty{color:var(--muted);font-size:12px;padding:30px;text-align:center}.reports-pagination{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;font-size:11px;gap:16px;justify-content:space-between;padding:14px 18px}.reports-pagination>div{align-items:center;display:flex;gap:10px}.reports-pagination button{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;font-size:11px;padding:7px 10px}.reports-pagination button:disabled{cursor:not-allowed;opacity:.45}.reports-pagination strong{color:var(--ink);white-space:nowrap}@media(max-width:800px){.reports-heading{align-items:stretch;flex-direction:column}.reports-search{width:100%}.reports-export{justify-content:center}.reports-filters{grid-template-columns:1fr}.reports-filter-summary{justify-content:flex-start}}@media(max-width:650px){.reports-page{padding-top:25px}.reports-pagination{align-items:flex-start;flex-direction:column}.reports-pagination>div{justify-content:space-between;width:100%}}.team-page{padding-top:38px}.team-primary-button,.team-secondary-button{align-items:center;border-radius:7px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;justify-content:center;padding:10px 14px}.team-primary-button{background:var(--blue);border:1px solid var(--blue);color:#fff}.team-primary-button:hover{background:#0b5b97}.team-secondary-button{background:#fff;border:1px solid var(--line);color:var(--ink)}.team-toolbar{gap:18px;justify-content:space-between;margin-top:24px;padding:14px 18px}.team-count,.team-toolbar{align-items:center;display:flex}.team-count{color:var(--blue);font-size:12px;gap:9px}.team-count strong{color:var(--ink);font-size:14px}.team-search{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--blue);display:flex;gap:8px;padding:0 10px;width:min(380px,100%)}.team-search input{border:0;color:var(--ink);font-size:12px;outline:0;padding:10px 0;width:100%}.team-search button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid}.team-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.team-card{padding:18px}.team-card-top{align-items:flex-start;display:flex;gap:13px}.team-avatar{background:#e6f0f8;border-radius:50%;color:var(--blue);display:grid;flex:0 0 46px;font-size:19px;font-weight:800;height:46px;place-items:center;width:46px}.team-card-main{flex:1 1;min-width:0}.team-name-line{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.team-name-line h2{font-size:14px;margin:0}.team-card-main p,.team-name-line h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-card-main p{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:5px;margin:7px 0 0}.team-card-main small{color:#8994a0;display:block;font-size:10px;margin-top:8px}.team-role{align-items:center;background:#eaf3fb;border-radius:999px;color:var(--blue);display:inline-flex;font-size:9px;font-weight:800;gap:4px;padding:4px 7px}.team-role.finance{background:#e9f7ef;color:#18814b}.team-role.admin,.team-role.super_admin{background:#fff3e8;color:#a55d16}.team-card-actions{display:flex;gap:3px}.team-card-actions button{background:#0000;border:0;border-radius:5px;color:var(--muted);cursor:pointer;display:grid;padding:6px}.team-card-actions button:hover{background:#eaf3fb;color:var(--blue)}.team-card-actions button:last-child:hover{background:#fff0f0;color:#b42318}.team-empty{color:var(--muted);font-size:12px;padding:60px;text-align:center}.team-modal-backdrop{background:#1023356b;display:grid;inset:0;padding:22px;place-items:center;position:fixed;z-index:50}.team-modal{background:#fff;border-radius:9px;box-shadow:0 18px 55px #0e24373d;width:min(450px,100%)}.team-modal-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 22px}.team-modal-head h2{font-size:18px;margin:0}.team-modal-head button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid;padding:5px}.team-form{grid-gap:15px;display:grid;gap:15px;padding:20px 22px}.team-form label{grid-gap:6px;color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.team-form input,.team-form select{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:13px;padding:10px;width:100%}.team-form input:focus,.team-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769aa1c;outline:0}.team-form input:disabled{background:var(--paper);color:var(--muted)}.team-form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:5px}@media(max-width:1050px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.team-page{padding-top:25px}.team-page header{align-items:flex-start;flex-direction:column}.team-toolbar{align-items:stretch;flex-direction:column}.team-search{width:100%}.team-grid{grid-template-columns:1fr}}.projects-page{padding-top:38px}.projects-primary-button,.projects-secondary-button{align-items:center;border-radius:7px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;justify-content:center;padding:10px 14px}.projects-primary-button{background:var(--blue);border:1px solid var(--blue);color:#fff}.projects-primary-button:hover{background:#0b5b97}.projects-secondary-button{background:#fff;border:1px solid var(--line);color:var(--ink)}.projects-toolbar{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:16px;justify-content:space-between;margin-top:24px;padding:14px 18px}.projects-toolbar strong{color:var(--ink);font-size:14px}.projects-toolbar-actions{align-items:center;display:flex;gap:10px}.projects-search{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--blue);display:flex;gap:8px;padding:0 10px;width:300px}.projects-search input{border:0;color:var(--ink);font-size:12px;outline:0;padding:10px 0;width:100%}.projects-search button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid}.projects-view-toggle{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.projects-view-toggle button{background:#fff;border:0;color:var(--muted);cursor:pointer;display:grid;padding:8px}.projects-view-toggle button+button{border-left:1px solid var(--line)}.projects-view-toggle button.selected{background:#eaf3fb;color:var(--blue)}.projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.projects-list{grid-gap:10px;display:grid;gap:10px;margin-top:16px}.project-card{min-width:0;overflow:visible;position:relative}.project-color-bar{border-radius:8px 8px 0 0;height:6px}.project-card-body{padding:18px}.project-card-heading{display:flex;gap:12px;justify-content:space-between}.project-card-heading h2{font-size:15px;line-height:1.35;margin:0}.project-card-heading small{color:var(--muted);display:block;font-size:10px;margin-top:4px}.project-description{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);display:-webkit-box;font-size:11px;line-height:1.5;margin:10px 0;min-height:32px;overflow:hidden}.project-badges{display:flex;gap:7px;margin:14px 0}.project-badge{border-radius:999px;font-size:10px;font-weight:800;padding:5px 8px}.status-planning{background:#f1f3f6;color:#657184}.status-in_progress{background:#eaf3fb;color:var(--blue)}.status-completed{background:#e8f7ef;color:#18814b}.status-cancelled{background:#fff0f0;color:#b42318}.priority-low{background:#eef6f1;color:#387657}.priority-medium{background:#fff5df;color:#a66a00}.priority-critical,.priority-high{background:#fff0f0;color:#b42318}.project-card-footer{border-top:1px solid #edf1f5;color:var(--muted);display:flex;font-size:10px;gap:8px;justify-content:space-between;padding-top:13px}.project-card-footer span{align-items:center;display:flex;gap:4px}.project-menu-wrap{position:relative}.project-menu-button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid;padding:4px}.project-menu-button:hover{color:var(--ink)}.project-menu{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 20px #1023351f;padding:4px;position:absolute;right:0;top:28px;width:115px;z-index:4}.project-menu button{align-items:center;background:#fff;border:0;border-radius:4px;color:var(--ink);cursor:pointer;display:flex;font-size:11px;gap:8px;padding:8px;text-align:left;width:100%}.project-menu button:hover{background:var(--paper)}.project-menu button:last-child:hover{background:#fff0f0;color:#b42318}.projects-empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;padding:70px 20px;text-align:center}.projects-empty h2{color:var(--ink);font-size:17px;margin:12px 0 5px}.projects-empty p{font-size:12px;margin:0 0 16px}.projects-modal-backdrop{background:#1023356b;display:grid;inset:0;padding:22px;place-items:center;position:fixed;z-index:50}.projects-modal{background:#fff;border-radius:9px;box-shadow:0 18px 55px #0e243737;max-height:calc(100vh - 44px);overflow:auto;width:min(650px,100%)}.projects-modal-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 22px}.projects-modal-header h2{font-size:18px;margin:0}.projects-modal-header button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid;padding:5px}.project-form{grid-gap:15px;display:grid;gap:15px;padding:20px 22px}.project-form label{grid-gap:6px;color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.project-form input,.project-form select,.project-form textarea{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:13px;outline:0;padding:10px;width:100%}.project-form textarea{min-height:80px;resize:vertical}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769aa1c}.project-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.project-colors{display:flex;flex-wrap:wrap;gap:9px}.project-colors button{border:2px solid #0000;border-radius:50%;cursor:pointer;height:28px;width:28px}.project-colors button.chosen{border-color:var(--ink);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}.projects-form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:5px}@media(max-width:1050px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.projects-page{padding-top:25px}.projects-page header{align-items:flex-start;flex-direction:column}.projects-toolbar,.projects-toolbar-actions{align-items:stretch;flex-direction:column}.projects-search{width:100%}.project-form-grid,.projects-grid{grid-template-columns:1fr}.project-card-footer,.projects-form-actions{flex-direction:column}.projects-form-actions button{width:100%}}.tasks-page{padding-top:38px}.tasks-primary-button,.tasks-secondary-button{align-items:center;border-radius:7px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;justify-content:center;padding:10px 14px}.tasks-primary-button{background:var(--blue);border:1px solid var(--blue);color:#fff}.tasks-primary-button:hover{background:#0b5b97}.tasks-secondary-button{background:#fff;border:1px solid var(--line);color:var(--ink)}.tasks-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 16px}.tasks-filters button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:8px;padding:9px 13px}.tasks-filters button.selected,.tasks-filters button:hover{background:var(--blue);border-color:var(--blue);color:#fff}.tasks-list{grid-gap:8px;display:grid;gap:8px}.task-row{align-items:center;display:flex;gap:14px;padding:14px 16px}.task-row.done{opacity:.7}.task-check{background:#0000;border:0;color:#c6ccd3;cursor:pointer;display:grid;flex:0 0 auto;padding:3px}.task-check:hover{color:var(--blue)}.task-check.checked{color:#18814b}.task-main{flex:1 1;min-width:0}.task-main small,.task-main strong{display:block}.task-main strong{color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row.done .task-main strong{color:var(--muted);text-decoration:line-through}.task-main small{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-main small,.task-meta{color:var(--muted);font-size:11px}.task-meta{align-items:center;display:flex;gap:14px;justify-content:flex-end}.task-meta span{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.task-meta .overdue{color:#b42318;font-weight:800}.task-meta button{background:#0000;border:0;border-radius:5px;color:var(--muted);cursor:pointer;display:grid;padding:6px}.task-meta button:hover{background:#eaf3fb;color:var(--blue)}.task-meta button:last-child:hover{background:#fff0f0;color:#b42318}.tasks-empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;padding:65px 20px;text-align:center}.tasks-empty h2{color:var(--ink);font-size:17px;margin:12px 0 5px}.tasks-empty p{font-size:12px;margin:0}.tasks-modal-backdrop{background:#1023356b;display:grid;inset:0;padding:22px;place-items:center;position:fixed;z-index:50}.tasks-modal{background:#fff;border-radius:9px;box-shadow:0 18px 55px #0e243737;width:min(520px,100%)}.tasks-modal-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 22px}.tasks-modal-header h2{font-size:18px;margin:0}.tasks-modal-header button{background:#0000;border:0;color:var(--muted);cursor:pointer;display:grid;padding:5px}.tasks-form{grid-gap:15px;display:grid;gap:15px;padding:20px 22px}.tasks-form label{grid-gap:6px;color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.tasks-form input,.tasks-form select,.tasks-form textarea{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:13px;outline:0;padding:10px;width:100%}.tasks-form textarea{min-height:80px;resize:vertical}.tasks-form input:focus,.tasks-form select:focus,.tasks-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769aa1c}.tasks-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.tasks-form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:5px}@media(max-width:700px){.tasks-page{padding-top:25px}.tasks-page header{flex-direction:column}.task-row,.tasks-page header{align-items:flex-start}.task-meta{align-items:flex-end;flex-direction:column;gap:6px}.tasks-form-grid{grid-template-columns:1fr}.tasks-form-actions{flex-direction:column}.tasks-form-actions button{width:100%}}:root{--ink:#132a46;--muted:#667b93;--line:#dce6f1;--paper:#f5f8fc;--white:#fff;--blue:#1769aa;--dark:#0b315d;--green:#3b684a;--orange:#c56b2c}*{box-sizing:border-box}body{background:#f5f8fc;background:var(--paper);color:#132a46;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;margin:0}button,input{font:inherit}.app{min-height:100vh}.app,aside{display:flex}aside{background:#0b315d;background:var(--dark);color:#eef6ff;flex:none;flex-direction:column;padding:28px 18px;width:250px}.brand{align-items:center;display:flex;gap:10px;padding:0 10px 42px}.brand-mark{background:#fff;border-radius:12px;color:#1769aa;color:var(--blue);display:grid;font-weight:900;height:42px;letter-spacing:-.08em;place-items:center;width:42px}.brand small,.brand strong{display:block}.brand strong{font-size:15px}.brand small{color:#aac4dc;font-size:10px;margin-top:4px}nav{grid-gap:6px;display:grid;gap:6px}nav a{align-items:center;border-radius:8px;color:#abc4dc;display:flex;font-size:13px;gap:10px;padding:12px;text-decoration:none}nav a.active,nav a:hover{background:#ffffff20;color:#fff}.logout{align-items:center;background:#0000;border:0;border-top:1px solid #ffffff2b;color:#abc4dc;cursor:pointer;display:flex;gap:8px;margin-top:auto;padding:14px 10px;text-align:left}.content{margin:0 auto;max-width:1440px;padding:38px 52px 60px;width:100%}header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:26px}h1,h2,p{margin-top:0}h1{font-size:29px;letter-spacing:-.04em;margin-bottom:6px}h2{font-size:19px;letter-spacing:-.03em;margin-bottom:12px}.eyebrow{color:#1769aa;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:8px;text-transform:uppercase}.muted{color:#667b93;color:var(--muted);font-size:13px}.avatar{background:#eaf3fb;border-radius:50%;color:#1769aa;color:var(--blue);display:grid;font-size:11px;font-weight:800;height:38px;place-items:center;width:38px}.hero{background:linear-gradient(115deg,#0b315d,#1769aa);background:linear-gradient(115deg,var(--dark),var(--blue));border-radius:13px;box-shadow:0 15px 30px #0b315d25;color:#fff;padding:30px}.hero h2{font-size:24px;line-height:1.15;max-width:650px}.hero p:last-child{color:#d2e4f5;font-size:13px;margin:0}.hero .eyebrow{color:#c5dced}.metrics{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin:22px 0}.metric,.panel{background:#fff;background:var(--white);border:1px solid #dce6f1;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px #23496f08}.metric{padding:18px}.metric span{background:#eaf3fb;border-radius:8px;color:#1769aa;color:var(--blue);display:grid;height:32px;margin-bottom:13px;place-items:center;width:32px}.metric.green span{background:#e8f5ed;color:#3b684a;color:var(--green)}.metric.orange span{background:#fff0e6;color:#c56b2c;color:var(--orange)}.metric small{color:#667b93;color:var(--muted);display:block;font-size:11px}.metric strong{display:block;font-size:20px;margin-top:5px}.grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1.35fr 1fr}.panel{padding:23px}.month{margin-top:17px}.month>div:first-child{display:flex;font-size:11px;gap:10px;justify-content:space-between}.month span{color:#667b93;color:var(--muted)}.bar{background:#edf1f5;border-radius:8px;display:flex;gap:3px;height:8px;margin-top:7px;overflow:hidden}.bar b,.bar i{border-radius:8px;display:block}.bar i{background:#39a56b}.bar b{background:#df8a4b}.source{border-bottom:1px solid #edf1f5;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:13px 0}.source:last-child{border-bottom:0}.source small{color:#667b93;color:var(--muted);display:block;font-size:10px;margin-top:3px}.source strong{color:#3b684a;color:var(--green);white-space:nowrap}.table-panel{margin-top:18px;overflow:hidden;padding:0}.table-heading{border-bottom:1px solid #dce6f1;border-bottom:1px solid var(--line);gap:20px;justify-content:space-between;padding:22px}.search,.table-heading{align-items:center;display:flex}.search{border:1px solid #dce6f1;border:1px solid var(--line);border-radius:7px;color:#667b93;color:var(--muted);gap:8px;padding:8px 10px;width:300px}.search input{border:0;font-size:12px;outline:0;width:100%}.table-scroll{overflow:auto}table{border-collapse:collapse;font-size:12px;min-width:760px;width:100%}th{background:#f7f9ff;color:#667b93;color:var(--muted);font-size:10px;padding:12px 18px;text-align:left;text-transform:uppercase}td{border-top:1px solid #edf1f5;color:#536b84;padding:13px 18px}td small,td strong{color:#132a46;color:var(--ink);display:block}td small{color:#667b93;color:var(--muted);font-size:10px;margin-top:4px}.credit{color:#3b684a;color:var(--green)}.debit{color:#c56b2c;color:var(--orange)}.login{background:linear-gradient(135deg,#0b315d,#1769aa);background:linear-gradient(135deg,var(--dark),var(--blue));display:grid;min-height:100vh;place-items:center}.login-card{background:#fff;border-radius:15px;box-shadow:0 24px 60px #031b35aa;padding:38px;width:min(420px,calc(100% - 36px))}.login-card h1{margin-top:14px}.login-card form{grid-gap:14px;display:grid;gap:14px;margin-top:25px}.login-card label{grid-gap:6px;color:#667b93;color:var(--muted);display:grid;font-size:12px;font-weight:700;gap:6px}.login-card input{border:1px solid #dce6f1;border:1px solid var(--line);border-radius:7px;outline:0;padding:11px}.primary{background:#1769aa;background:var(--blue);border:0;border-radius:7px;color:#fff;cursor:pointer;font-weight:800;padding:12px}.error{background:#fff0f0;border-radius:6px;color:#a33;font-size:12px;padding:10px}.loading{color:#667b93;color:var(--muted);display:grid;min-height:100vh;place-items:center}@media(max-width:1000px){.content{padding:30px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:650px){.app{display:block}aside{padding:20px;width:auto}.brand{padding-bottom:22px}nav{grid-template-columns:repeat(2,1fr)}.logout{margin-top:18px}.content{padding:25px 18px}.metrics{grid-template-columns:1fr}.table-heading{align-items:flex-start;flex-direction:column}.search{width:100%}}.operations-page{max-width:1180px}.operation-tabs{display:flex;gap:8px;margin:22px 0}.operation-tabs button,.teacher-classes button{align-items:center;background:#fff;border:1px solid #d9e3ee;border-radius:10px;color:#38516a;cursor:pointer;display:flex;gap:7px;padding:10px 14px}.operation-tabs button.active,.teacher-classes button.selected{background:#e9f3fc;border-color:#1769aa;color:#1769aa}.operation-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(280px,380px 1fr);grid-template-columns:380px 1fr}.panel{background:#fff;border:1px solid #e2eaf2;border-radius:16px;box-shadow:0 6px 22px #163b5d08;padding:22px}.panel h2{font-size:18px;margin:0 0 18px}.form-panel{display:flex;flex-direction:column;gap:13px}.form-panel label,.lesson-form label{color:#557087;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px}.form-panel input,.form-panel select,.lesson-form input,.lesson-form textarea{border:1px solid #d5e0eb;border-radius:9px;color:#263b4d;font:inherit;padding:10px}.check-row{align-items:center;display:flex!important;flex-direction:row!important}.check-row input{width:auto}.primary-button{align-items:center;background:#1769aa;border:0;border-radius:9px;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:7px;justify-content:center;padding:11px 15px}.simple-list{display:flex;flex-direction:column}.simple-list-item{border-bottom:1px solid #edf1f5;flex-direction:column;gap:4px;padding:13px 0}.simple-list-item span{color:#71859a;font-size:13px}.catalog-columns{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.catalog-columns div{display:flex;flex-direction:column;gap:10px}.catalog-columns span{color:#536d84}.inline-message{background:#fff5df;border-radius:9px;color:#825b16;margin:12px 0;padding:11px 13px}.teacher-page{background:#f4f8fc;margin:auto;max-width:860px;min-height:100vh;padding:26px}.teacher-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:18px}.teacher-header h1{font-size:30px;margin:5px 0}.teacher-card{background:#fff;border:1px solid #e1eaf2;border-radius:16px;box-shadow:0 7px 25px #173e5d0b;margin-bottom:16px;padding:20px}.teacher-card h2{align-items:center;display:flex;gap:8px;margin:0 0 15px}.teacher-classes{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.teacher-classes button{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.teacher-card small,.teacher-classes span{color:#71859a;font-size:12px}.location-status{align-items:center;background:#edf6fd;border-radius:9px;color:#1769aa;display:flex;gap:8px;margin-bottom:15px;padding:10px}.lesson-form textarea{min-height:100px;resize:vertical}.photo-upload{align-items:center!important;border:1px dashed #8fb4d3;border-radius:10px;color:#1769aa!important;padding:16px;text-align:center}.photo-upload input{border:0;padding:4px}.attendance-list{margin:20px 0}.attendance-list h3{font-size:15px}.attendance-list>div{align-items:center;border-bottom:1px solid #edf1f5;display:flex;justify-content:space-between;padding:9px 0}.attendance-list select{border:1px solid #d5e0eb;border-radius:8px;padding:7px}.wide-button{margin-top:16px;width:100%}.text-button{background:#0000;border:0;color:#1769aa;cursor:pointer;font-weight:700}@media(max-width:700px){.operations-page{padding:18px}.operation-grid{grid-template-columns:1fr}.teacher-page{padding:16px}.teacher-header h1{font-size:25px}.operation-tabs{overflow:auto}.operation-tabs button{white-space:nowrap}}.simple-list-item{align-items:center;display:flex;gap:12px;justify-content:space-between}.simple-list-item>div:first-child{min-width:0}.simple-list-item span{display:block;margin-top:4px}.operation-actions{display:flex;flex:0 0 auto;gap:4px}.operation-actions button,.operation-detail>button{background:#0000;border:0;border-radius:7px;color:#71859a;cursor:pointer;display:grid;padding:7px;place-items:center}.operation-actions button:hover{background:#eaf3fb;color:#1769aa}.operation-actions button:last-child:hover{background:#fff0f0;color:#b42318}.operation-pager{align-items:center;border-top:1px solid #edf1f5;color:#71859a;display:flex;font-size:12px;gap:12px;justify-content:space-between;margin-top:16px;padding-top:14px}.operation-pager>div{align-items:center;display:flex;gap:9px}.operation-pager button,.secondary-button{background:#fff;border:1px solid #d5e0eb;border-radius:7px;color:#38516a;cursor:pointer;padding:7px 10px}.operation-pager button:disabled{cursor:not-allowed;opacity:.45}.form-actions{display:flex;gap:8px}.operation-detail{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-top:18px}.operation-detail h2{margin-bottom:6px}.operation-detail p:last-child{color:#71859a;font-size:13px;margin:0}.operation-list-panel .simple-list-item{align-items:center;flex-direction:row!important;justify-content:space-between}.operation-list-panel .simple-list-item>div:first-child{flex:1 1;text-align:left}.operation-actions{align-self:center}.back-button{align-items:center;background:#0000;border:0;color:#1769aa;cursor:pointer;display:inline-flex;font-weight:700;gap:7px;margin-bottom:24px;padding:0}.lesson-screen{max-width:760px}.lesson-screen .teacher-card{margin-top:4px}.lesson-step-title{align-items:center;display:flex;gap:9px}.lesson-step-title span{background:#e9f3fc;border-radius:50%;color:#1769aa;display:grid;font-size:12px;font-weight:800;height:24px;place-items:center;width:24px}.lesson-step-title h2,.lesson-step-title h3{margin:0}.teacher-classes em{color:#1769aa;font-size:12px;font-style:normal;font-weight:700;margin-top:4px}.lesson-screen .eyebrow{display:block}.location-status{flex-wrap:wrap;justify-content:flex-start}.location-status button{background:#fff;border:0;border-radius:7px;color:#1769aa;cursor:pointer;font-weight:700;margin-left:auto;padding:6px 9px}.optional-label{color:#71859a;font-size:11px;font-weight:400}
/*# sourceMappingURL=main.b26783e4.css.map*/