:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:#f4f5f7;min-height:100vh;margin:0}.shell{max-width:720px;margin:0 auto;padding:3rem 1.25rem}.title{margin:0 0 .25rem;font-size:1.75rem}.tagline{color:#555;margin:0 0 2rem}.status-card{background:#fff;border:1px solid #e2e4e8;border-radius:12px;padding:1rem 1.25rem}.status{margin:0;font-weight:500}.status.pending{color:#777}.status.ok{color:#157f3a}.status.error{color:#b3261e}@media (prefers-color-scheme:dark){body{background:#101214}.tagline{color:#aab}.status-card{background:#1a1d21;border-color:#2c3036}}.auth-card{background:#fff;border:1px solid #e2e4e8;border-radius:12px;max-width:380px;margin:0 auto;padding:1.5rem 1.25rem}.auth-title{margin:0 0 .75rem;font-size:1.25rem}.auth-form{flex-direction:column;gap:.6rem;display:flex}.auth-form label{font-size:.9rem;font-weight:500}.auth-form input{border:1px solid #c6cad1;border-radius:8px;padding:.6rem .75rem;font-size:1rem}.auth-form button,.auth-card button,.dashboard button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:.6rem 1rem;font-size:1rem;font-weight:500}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-info{color:#444;margin:0 0 1rem}.auth-error{color:#b3261e;margin:.25rem 0 0;font-size:.9rem}.dashboard{max-width:380px;margin:0 auto}.dashboard-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.session-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.session-card{color:inherit;background:#fff;border:1px solid #c6cad1;border-radius:8px;flex-direction:column;gap:.15rem;padding:.75rem .9rem;text-decoration:none;display:flex}.session-card:hover{border-color:#4f46e5}.session-card-name{font-weight:600}.session-card-meta{color:#555;font-size:.85rem}@media (prefers-color-scheme:dark){.auth-card{background:#1a1d21;border-color:#2c3036}.auth-info{color:#aab}.auth-form input{color:#eee;background:#101214;border-color:#2c3036}.session-card{background:#1a1d21;border-color:#2c3036}.session-card-meta{color:#99a}}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:10;background:#fff;border-bottom:1px solid #e2e4e8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;min-height:44px;padding:.4rem 0;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.app-nav{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.app-nav a,.nav-logout{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:0 .75rem;font-size:.95rem;text-decoration:none;display:inline-flex}.app-nav a.active{color:#4f46e5;background:#eef0ff;font-weight:500}.nav-logout{color:#b3261e}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.25rem}.state-block{background:#fff;border:1px solid #e2e4e8;border-radius:12px;max-width:380px;margin:0 auto;padding:1.5rem 1.25rem}.btn{color:#fff;background:#4f46e5;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 1rem;font-weight:500;text-decoration:none;display:inline-flex}.offline-banner,.reconnecting-banner{color:#664d03;text-align:center;background:#fff3cd;padding:.4rem .75rem;font-size:.9rem}.reconnecting-banner{color:#084298;background:#e7f1ff}:focus-visible{outline-offset:2px;outline:2px solid #4f46e5}button,input,a{font-family:inherit}@media (prefers-color-scheme:dark){.app-header{background:#1a1d21;border-color:#2c3036}.app-nav a.active{color:#a5b4fc;background:#23273a}.state-block{background:#1a1d21;border-color:#2c3036}.offline-banner{color:#ffe08a;background:#4a3f00}.reconnecting-banner{color:#9ecbff;background:#0a2a4a}}.auth-form select{background:#fff;border:1px solid #c6cad1;border-radius:8px;padding:.6rem .75rem;font-size:1rem}@media (prefers-color-scheme:dark){.auth-form select{color:#eee;background:#101214;border-color:#2c3036}}.form-hint{color:#666;margin:0;font-size:.85rem}.upload-card{background:#fff;border:1px solid #e2e4e8;border-radius:12px;margin-top:1rem;padding:1.5rem 1.25rem}.upload-trigger{cursor:pointer;text-align:center;width:100%}.upload-preview{border-radius:8px;max-width:100%;max-height:320px;margin:.75rem 0;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-color-scheme:dark){.upload-card{background:#1a1d21;border-color:#2c3036}}.review{flex-direction:column;gap:.75rem;display:flex}.review-fields{background:#fff;border:1px solid #e2e4e8;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:.5rem .75rem;padding:1rem;display:grid}.review-fields input,.review-fields select{border:1px solid #c6cad1;border-radius:8px;padding:.5rem .6rem;font-size:1rem}.review-sub{margin:.5rem 0 .25rem;font-size:1rem}.review-list{background:#fff;border:1px solid #e2e4e8;border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.review-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.review-row input,.review-row select{border:1px solid #c6cad1;border-radius:8px;flex:120px;min-width:0;padding:.45rem .5rem;font-size:.95rem}.review-row .review-qty,.review-row .review-amount{flex:0 90px}.review-row button,.review-list>button,.review-actions button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;min-height:40px;padding:.4rem .75rem}.review-row.low-conf{background:#fff8e1;border-radius:8px;padding:.2rem}.review-row.low-conf:before{content:"⚠ низкая уверенность";color:#8a6d00;font-size:.75rem}.review-note{color:#666;margin:0;font-size:.85rem}.review-totals{background:#fff;border:1px solid #e2e4e8;border-radius:12px;padding:.75rem 1rem;font-size:.95rem}.review-totals p{margin:.2rem 0}.review-totals .mismatch{color:#b3261e;font-weight:600}.review-actions{gap:.6rem;display:flex}@media (prefers-color-scheme:dark){.review-fields,.review-list,.review-totals{background:#1a1d21;border-color:#2c3036}.review-fields input,.review-fields select,.review-row input,.review-row select{color:#eee;background:#101214;border-color:#2c3036}.review-row.low-conf{background:#332d00}.review-note{color:#aab}}.share-panel{background:#fff;border:1px solid #e2e4e8;border-radius:12px;margin-top:1rem;padding:1.25rem}.share-panel .review-row input{border:1px solid #c6cad1;border-radius:8px;flex:auto;min-width:0;padding:.5rem .6rem;font-size:.9rem}.share-panel>button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;min-height:44px;padding:0 1rem;font-weight:500}.share-panel>button:disabled{opacity:.6;cursor:not-allowed}.invite-list{flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.invite-list li{justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.invite-list button{color:#fff;cursor:pointer;background:#b3261e;border:none;border-radius:8px;min-height:36px;padding:.3rem .6rem}@media (prefers-color-scheme:dark){.share-panel{background:#1a1d21;border-color:#2c3036}.share-panel .review-row input{color:#eee;background:#101214;border-color:#2c3036}}.snapshot-list{background:#fff;border:1px solid #e2e4e8;border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.snapshot-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.snapshot-row.partial{background:#fff8e1;border-radius:8px;padding:.2rem}.snapshot-row.unallocated{opacity:.85}.snapshot-name{flex:auto;min-width:0}.snapshot-qty{color:#555;font-size:.9rem}.snapshot-amount{font-variant-numeric:tabular-nums}.snapshot-tag{color:#8a6d00;font-size:.75rem}.snapshot-label{color:#666}@media (prefers-color-scheme:dark){.snapshot-list{background:#1a1d21;border-color:#2c3036}.snapshot-row.partial{background:#332d00}.snapshot-qty,.snapshot-label{color:#aab}}.alloc-panel{flex-direction:column;gap:.6rem;display:flex}.alloc-item{background:#fff;border:1px solid #e2e4e8;border-radius:12px;padding:.75rem}.alloc-item.partial{border-color:#d4b106}.alloc-head{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.alloc-name{font-weight:600}.alloc-meta{color:#555;font-size:.9rem}.alloc-claims{flex-direction:column;gap:.3rem;margin-top:.5rem;display:flex}.alloc-claim{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.alloc-controls{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.alloc-controls input{border:1px solid #c6cad1;border-radius:8px;width:64px;min-height:40px;padding:.4rem;font-size:.95rem}.alloc-controls button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;min-height:40px;padding:.3rem .7rem}@media (prefers-color-scheme:dark){.alloc-item{background:#1a1d21;border-color:#2c3036}.alloc-meta{color:#aab}.alloc-controls input{color:#eee;background:#101214;border-color:#2c3036}}.totals-panel{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.you-owe{color:#b3261e;font-weight:600}.admin{flex-direction:column;gap:.75rem;display:flex}.admin-filters{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.admin-filters select,.admin-filters input{background:#fff;border:1px solid #c6cad1;border-radius:8px;min-height:40px;padding:.5rem .6rem;font-size:.95rem}.admin-filters button,.admin-more{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;min-height:40px;padding:.4rem .9rem}.admin-list{flex-direction:column;gap:.4rem;display:flex}.admin-row{color:inherit;background:#fff;border:1px solid #e2e4e8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;min-height:44px;padding:.6rem .75rem;text-decoration:none;display:flex}.admin-date{color:#666;flex:0 0 80px;font-size:.9rem}.admin-name{flex:auto;min-width:0;font-weight:500}.admin-total{font-variant-numeric:tabular-nums}.admin-meta{color:#666;font-size:.85rem}@media (prefers-color-scheme:dark){.admin-row{background:#1a1d21;border-color:#2c3036}.admin-filters select,.admin-filters input{color:#eee;background:#101214;border-color:#2c3036}.admin-date,.admin-meta{color:#aab}}
