:root{--ink:#17211c;--muted:#68756e;--line:#dfe7e2;--soft:#f4f7f5;--panel:#fff;--green:#176b4b;--green-2:#24966b;--lime:#dff5e9;--amber:#b66b12;--amber-bg:#fff3dc;--red:#a33a3a;--shadow:0 18px 45px rgba(31,54,43,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#eef3f0}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:246px 1fr;min-height:100vh}.sidebar{background:#14251d;color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:12px;padding:4px 8px 28px}.logo strong,.logo small{display:block}.logo strong{font-size:18px}.logo small{font-size:11px;color:#a9b9b0;margin-top:2px}.brand-mark{width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#2cb47f,#b8f0d5);color:#10392a;display:grid;place-items:center;font-weight:900;letter-spacing:-1px;box-shadow:0 12px 28px rgba(44,180,127,.28)}.brand-mark.small{width:40px;height:40px;border-radius:13px;font-size:13px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:#bfd0c7;font-size:14px;font-weight:650}.sidebar nav a:hover,.sidebar nav a.active{background:#254338;color:#fff}.nav-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:rgba(255,255,255,.08);font-size:10px}.sidebar nav a.active .nav-icon{background:#34b883;color:#0b3223}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 9px 2px;color:#d6e2dc;font-size:12px}.sidebar-foot small{display:block;color:#82978c;margin:6px 0 0 15px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#44d99b;margin-right:7px;box-shadow:0 0 0 4px rgba(68,217,155,.1)}.main{padding:26px 34px 48px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.topbar h1{margin:3px 0 0;font-size:27px;letter-spacing:-.7px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:10px;color:var(--green-2);margin:0}.user-box{display:flex;align-items:center;gap:10px}.user-box>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#dfece5;color:var(--green);font-weight:800}.user-box div strong,.user-box div small{display:block}.user-box div strong{font-size:13px}.user-box div small{font-size:10px;color:var(--muted);margin-top:2px}.link-button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:8px}.hero{border-radius:24px;background:linear-gradient(130deg,#176b4b,#234c3d);color:#fff;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:250px;height:250px;border:55px solid rgba(255,255,255,.045);border-radius:50%;right:-55px;top:-100px}.hero>*{position:relative;z-index:1}.hero h2{max-width:680px;font-size:30px;line-height:1.16;letter-spacing:-1px;margin:13px 0 10px}.hero p{margin:0;max-width:660px;color:#cce4d9;line-height:1.55}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.muted-pill{background:#eaf0ed;color:#617169}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.stats article,.panel{background:var(--panel);border:1px solid rgba(29,61,46,.08);border-radius:18px;box-shadow:0 7px 24px rgba(31,54,43,.045)}.stats article{padding:20px}.stats span,.stats small{display:block;color:var(--muted);font-size:12px}.stats strong{display:block;font-size:30px;letter-spacing:-1px;margin:9px 0 4px}.stats article.warning{background:var(--amber-bg)}.stats article.warning strong{color:var(--amber)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.panel h3{font-size:19px;margin:5px 0 0}.process{list-style:none;padding:0;margin:0;display:grid;gap:18px}.process li{display:flex;align-items:center;gap:13px;color:var(--muted)}.process li>span{width:32px;height:32px;border-radius:10px;background:#edf1ef;display:grid;place-items:center;font-weight:800;font-size:12px}.process li.done>span{background:var(--lime);color:var(--green)}.process strong,.process small{display:block}.process strong{font-size:13px;color:var(--ink)}.process small{font-size:11px;margin-top:3px}.empty-state{text-align:center;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:var(--muted)}.empty-state strong{color:var(--ink);font-size:15px}.empty-state p{max-width:410px;line-height:1.5;font-size:13px}.empty-icon,.upload-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--lime);color:var(--green);font-weight:900;font-size:20px;margin-bottom:13px}.button{border:0;border-radius:11px;padding:10px 15px;font-weight:750;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button-primary{background:var(--green);color:#fff}.button-light{background:#fff;color:var(--green);white-space:nowrap}.table-wrap{overflow:auto;margin:0 -4px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #edf1ef;vertical-align:middle}tbody tr:hover{background:#fafcfb}.status{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800;background:#edf1ef;color:#59685f}.status-active{background:var(--lime);color:var(--green)}.status-needs_mapping{background:var(--amber-bg);color:var(--amber)}.status-draft{background:#e9eef5;color:#526478}.code{font-family:"SFMono-Regular",Consolas,monospace;background:#edf2ef;border-radius:6px;padding:3px 6px;color:#355347}.popover{position:absolute;right:0;top:44px;width:330px;background:#fff;border:1px solid var(--line);padding:18px;border-radius:15px;box-shadow:var(--shadow);z-index:10}.popover.wide{width:430px}details{position:relative}summary{list-style:none}summary::-webkit-details-marker{display:none}.stack{display:grid;gap:13px}.stack label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#435148}.stack input,.stack select,.stack textarea{width:100%;border:1px solid #ccd8d1;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.stack input:focus,.stack select:focus,.stack textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(36,150,107,.1)}.stack textarea{min-height:70px;resize:vertical}.alert{border-radius:12px;padding:12px 15px;margin:0 0 18px;font-size:13px}.alert-success{background:var(--lime);color:var(--green)}.alert-error{background:#fbe5e5;color:var(--red)}.auth-page{display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#dff5e9,transparent 40%),#eef3f0;padding:24px}.auth-card{width:min(440px,100%);background:#fff;border-radius:24px;padding:38px;box-shadow:var(--shadow);border:1px solid rgba(29,61,46,.08)}.auth-card .brand-mark{margin-bottom:24px}.auth-card h1{font-size:28px;letter-spacing:-.8px;margin:8px 0}.muted{color:var(--muted);line-height:1.5}.upload-card{display:grid;place-items:center}.upload-zone{width:100%;border:1.5px dashed #b9cac0;border-radius:16px;padding:45px 25px;text-align:center;color:var(--muted)}.upload-zone h3{color:var(--ink)}.upload-zone p{font-size:13px;line-height:1.55}.upload-icon{margin:0 auto 14px}.check-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:13px}.check-list li{position:relative;padding-left:27px;font-size:13px}.check-list li:before{content:"✓";position:absolute;left:0;top:-2px;width:19px;height:19px;border-radius:6px;display:grid;place-items:center;background:var(--lime);color:var(--green);font-size:11px;font-weight:900}
.calculation-panel{margin-bottom:18px}.calculation-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.calculation-form>*{min-width:0}.calculation-form label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#435148}.calculation-form input,.calculation-form select,.calculation-form textarea{width:100%;min-width:0;border:1px solid #ccd8d1;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.calculation-form input:focus,.calculation-form select:focus,.calculation-form textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(36,150,107,.1)}.calculation-form textarea{min-height:78px;resize:vertical}.wide-field{grid-column:1/-1}.calculation-preview{display:flex;align-items:center;gap:12px;background:var(--soft);border-radius:12px;padding:13px 15px}.calculation-preview span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.calculation-preview strong{font-size:13px}.calculation-preview small{margin-left:auto;color:var(--muted)}.cell-note{display:block;color:var(--muted);font-size:10px;margin-top:4px}.positive{color:var(--green)}
@media(max-width:1150px){.calculation-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
.policy-panel{margin-bottom:18px;border-left:4px solid var(--green-2)}.policy-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.policy-form>*{min-width:0}.policy-form label{display:grid;align-content:start;gap:6px;font-size:11px;font-weight:750;color:#435148}.policy-form input,.policy-form select,.policy-form textarea{width:100%;min-width:0;border:1px solid #ccd8d1;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.policy-form textarea{min-height:76px;resize:vertical}.policy-form label small,.calculation-form label small{color:var(--muted);font-size:10px;line-height:1.35;font-weight:500}.table-link{color:var(--green);font-weight:800;font-size:11px}.table-link:hover{text-decoration:underline}
.register-filter,.monthly-register,.task-panel{margin-bottom:18px}.filter-form{display:grid;grid-template-columns:minmax(180px,240px) minmax(260px,1fr) auto;gap:12px;align-items:end}.filter-form label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#435148}.filter-form input,.filter-form select,.tariff-input{width:100%;border:1px solid #ccd8d1;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.filter-form input:focus,.filter-form select:focus,.tariff-input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(36,150,107,.1)}.register-table{min-width:1450px}.register-table th,.register-table td{white-space:nowrap}.register-table td:first-child{white-space:normal;min-width:190px}.tariff-input{min-width:92px;max-width:105px;padding:8px}.register-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px}.register-actions p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.manual-details{margin-top:18px}.manual-details>summary{margin-bottom:14px;background:#fff;border:1px solid var(--line)}.manual-details[open]>summary{color:var(--green)}
.filter-form.range-filter{grid-template-columns:minmax(150px,200px) minmax(150px,200px) minmax(240px,1fr) auto}.range-register-table{min-width:1100px}.range-register-table th,.range-register-table td{white-space:nowrap;vertical-align:top}.range-register-table th small{display:block;margin-top:4px;text-transform:none;letter-spacing:0}.range-register-table td:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:190px;white-space:normal}.range-register-table tbody tr:hover td:first-child{background:#fafcfb}.range-register-table .tariff-input{min-width:105px}.range-register-table td .cell-note{max-width:145px;white-space:normal}
.policy-form .checkbox-field{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:11px}.policy-form .checkbox-field input{width:auto;margin:2px 0 0}.policy-form .checkbox-field small{grid-column:2}.meter-details summary{cursor:pointer;color:var(--green);font-weight:800}.meter-card{min-width:340px;padding:9px 0}.meter-card p{margin:0;padding:7px 0;border-bottom:1px solid var(--line)}.meter-card p:last-child{border-bottom:0}.meter-card strong,.meter-card span{display:block}.meter-card span{margin-top:4px;color:var(--muted);font-size:11px}
.telegram-integration{margin:18px 0}.inline-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px}.inline-check input{width:auto!important}.button:disabled{opacity:.5;cursor:not-allowed}.action-stack{display:grid;gap:5px;min-width:145px}.action-stack .button,.action-stack .link-button{width:100%}
@media(max-width:900px){.shell{grid-template-columns:76px 1fr}.sidebar{padding:20px 12px}.logo span:last-child,.sidebar nav a:not(.active){font-size:0}.sidebar nav a{justify-content:center}.sidebar nav a.active{font-size:0}.sidebar-foot{display:none}.main{padding:22px}.stats{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}}
@media(max-width:620px){.shell{display:block}.sidebar{position:static;height:auto;flex-direction:row;overflow:auto}.logo{padding:0 10px}.sidebar nav{display:flex}.main{padding:18px}.topbar{align-items:flex-start}.user-box div{display:none}.hero{padding:26px;display:block}.hero h2{font-size:25px}.hero .button{margin-top:20px}.stats{grid-template-columns:1fr 1fr}.panel{padding:18px}.popover,.popover.wide{position:fixed;left:16px;right:16px;top:90px;width:auto}.table-wrap{margin:0 -18px}th,td{white-space:nowrap}.auth-card{padding:28px}.calculation-form,.policy-form,.filter-form{grid-template-columns:1fr}.wide-field{grid-column:auto}.calculation-preview,.register-actions{align-items:flex-start;flex-direction:column}.calculation-preview small{margin-left:0}}
.financial-stats strong,.embedded-stats strong{font-size:23px}.embedded-stats{margin:0}.embedded-stats article{box-shadow:none;background:#f8fbf9}.total-row td{border-top:2px solid var(--line);background:#f8fbf9}.money-out{color:#a13d35}.money-in{color:var(--green-2)}details.panel>summary{display:flex;cursor:pointer;align-items:center;justify-content:space-between}details.panel>summary strong,details.panel>summary .eyebrow{display:block}details.panel[open]>summary{margin-bottom:20px}
.compact-empty{min-height:150px}
.telegram-invoice-queue{margin-bottom:18px}.invoice-document-list{display:grid;gap:18px}.invoice-document{border:1px solid var(--line);border-radius:16px;background:#f8fbf9;padding:18px}.invoice-document-head,.ocr-summary,.recognized-item-title,.invoice-review-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.invoice-document-head small,.recognized-item-title small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.ocr-summary{justify-content:flex-start;margin:14px 0;padding:10px 12px;background:#fff;border-radius:11px;color:var(--muted);font-size:11px}.ocr-summary form{margin-left:auto}.recognized-items{display:grid;gap:16px}.recognized-item-form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.recognized-item-title{margin-bottom:16px}.recognized-item-title>div{display:flex;align-items:center;gap:10px}.invoice-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.invoice-review-grid>*{min-width:0}.invoice-review-grid label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#435148}.invoice-review-grid input,.invoice-review-grid select,.invoice-review-grid textarea{width:100%;min-width:0;border:1px solid #ccd8d1;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.invoice-review-grid input:focus,.invoice-review-grid select:focus,.invoice-review-grid textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(36,150,107,.1)}.invoice-review-grid textarea{min-height:78px;resize:vertical}.invoice-review-grid .span-two{grid-column:span 2}.invoice-review-grid .span-full{grid-column:1/-1}.invoice-review-actions{justify-content:flex-end;margin-top:16px}.invoice-review-actions>span{margin-right:auto;color:var(--muted);font-size:11px;max-width:430px}.manual-invoice-fallback{margin-top:14px}.manual-invoice-fallback>summary{display:inline-flex}.manual-invoice-fallback[open]>.invoice-review-grid{margin-top:12px;background:#fff;padding:16px;border-radius:12px;border:1px solid var(--line)}
@media(max-width:1150px){.invoice-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.invoice-document-head,.recognized-item-title,.invoice-review-actions{align-items:flex-start;flex-direction:column}.ocr-summary{align-items:flex-start;flex-wrap:wrap}.ocr-summary form{margin-left:0}.invoice-review-grid{grid-template-columns:1fr}.invoice-review-grid .span-two,.invoice-review-grid .span-full{grid-column:auto}}
.existing-payment-warning{display:grid;gap:5px;margin-top:14px;padding:12px 14px;border-radius:11px;background:var(--amber-bg);color:var(--amber);font-size:11px}.existing-payment-warning span{color:#70502b;line-height:1.45}
