@font-face{font-family:Ubuntu;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/2fec16f4e3247070-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Ubuntu;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d39dd0fe2707b73f-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Ubuntu;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/64b603a0050c6c5e-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Ubuntu;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/19bbd60ccc95b5d0-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f882d86c499cfa5a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c99b890c5ded8d2e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4b1cfd3867993fed-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/77f5a85cac4ea515-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bda87828535b47a7-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b22cdab1bc584ea3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eeeb642bd71d217b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/70d2fd2b9078a5a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e8773fdd4b7ad26f-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/23822ac40846484b-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/387866ce4a39ca39-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/dbd9849a8a735d72-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/12a3e8885b69eb86-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3ecd40fce058ee61-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/854d2e4705543874-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b188519314c42064-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/14d38ce06836ffee-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cf66601165af2130-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b664222af7dcc13c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/33a864272e2b3e97-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Ubuntu Fallback;src:local("Arial");ascent-override:91.32%;descent-override:18.52%;line-gap-override:2.74%;size-adjust:102.06%}.__className_c18873{font-family:Ubuntu,Ubuntu Fallback;font-style:normal}.__variable_c18873{--font-ubuntu:"Ubuntu","Ubuntu Fallback"}*{box-sizing:border-box}html{color-scheme:dark}body,html{margin:0;padding:0;font-family:var(--font-ubuntu),"Ubuntu","Segoe UI",Arial,sans-serif;background:#0b1220;color:#e5e7eb}a{color:#93c5fd}main{max-width:860px;margin:0 auto;padding:24px 16px 48px}.login-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-card{width:min(420px,100%)}.login-form{display:flex;flex-direction:column;gap:12px}.login-form .primary{width:100%;margin-top:4px}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.app-header h1{margin:0}.app-user{display:flex;align-items:center;gap:8px;flex-shrink:0;color:#94a3b8;font-size:13px}.app-user strong{color:#e2e8f0;font-weight:600}h1{font-size:24px;margin:0 0 8px;color:#f9fafb}.subtitle{color:#9ca3af;margin:0 0 24px;font-size:14px}.card{background:#151c2c;border:1px solid #243044;border-radius:12px;padding:20px;margin-bottom:16px}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}label{font-size:12px;font-weight:600;color:#d1d5db}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #334155;border-radius:8px;background:#0f172a;color:#f3f4f6}input::placeholder,textarea::placeholder{color:#6b7280}input.error,select.error{border-color:#f87171;background:#3f1d24}input:-moz-read-only{background:#1a2234;color:#9ca3af}input:disabled,input:read-only,select:disabled{background:#1a2234;color:#9ca3af}.row-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}button{border:none;border-radius:8px;padding:10px 16px;cursor:pointer}button.primary{background:#3b82f6;color:#fff}button.primary:hover:not(:disabled){background:#2563eb}button.secondary{background:#334155;color:#e5e7eb}button.secondary:hover:not(:disabled){background:#475569}button.danger{background:#7f1d1d;color:#fecaca;min-width:36px}button.danger:hover:not(:disabled){background:#991b1b}button:disabled{opacity:.45;cursor:not-allowed}.item-row{display:grid;grid-template-columns:1fr 120px 40px;grid-gap:8px;gap:8px;margin-bottom:8px}.item-row-services{grid-template-columns:1fr 110px minmax(96px,auto) 40px;align-items:center}.item-save{white-space:nowrap;padding:10px;font-size:12px}.item-name-wrap{position:relative}.suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.45);z-index:20;max-height:200px;overflow:auto}.suggestion{padding:10px 12px;cursor:pointer;border-bottom:1px solid #243044;color:#e5e7eb}.suggestion:hover{background:#243044}.suggestion small{color:#94a3b8}.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px;font-size:14px}.alert.error{background:#3f1d24;color:#fecaca;border:1px solid #7f1d1d}.alert.success{background:#052e1c;color:#6ee7b7;border:1px solid #065f46}.alert.info{background:#172554;color:#93c5fd;border:1px solid #1e40af}.total-box{font-size:22px;font-weight:700;color:#f9fafb}textarea.output{min-height:240px;resize:vertical;font-family:Consolas,monospace;font-size:13px}.hint{font-size:12px;color:#9ca3af}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:#1e3a8a;color:#bfdbfe;margin-left:8px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.card-head label{margin:0}.help-btn{width:32px;height:32px;padding:0;border-radius:999px;background:#1e3a8a;color:#bfdbfe;font-weight:700;font-size:16px;line-height:1}.help-btn:hover,.help-btn[aria-expanded=true]{background:#3b82f6;color:#fff}.help-close{background:#334155;color:#e5e7eb;min-width:36px;height:36px;padding:0;font-size:20px}.help-dot{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:6px;vertical-align:middle}.help-dot-green{background:#22c55e}.help-dot-yellow{background:#eab308}.help-dot-blue{background:#3b82f6}.price-modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(2,6,23,.78);display:flex;align-items:stretch;justify-content:center;padding:clamp(0px,1.5vw,16px);box-sizing:border-box}.price-modal{width:min(1680px,100%);max-width:100%;height:calc(100dvh - 2 * clamp(0px, 1.5vw, 16px));max-height:calc(100dvh - 2 * clamp(0px, 1.5vw, 16px));background:#0f172a;border:1px solid #334155;border-radius:clamp(0px,1vw,12px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.55);box-sizing:border-box}.price-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:clamp(10px,1.2vw,14px) clamp(12px,1.4vw,16px);border-bottom:1px solid #243044;background:#151c2c;flex-shrink:0}.price-modal-head h2{margin:0 0 4px;font-size:clamp(16px,1.4vw,20px);color:#f8fafc}.price-modal-head .hint{color:#94a3b8;font-size:clamp(12px,1vw,14px)}.price-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:clamp(8px,1vw,12px) clamp(8px,1.2vw,16px) clamp(12px,1.4vw,16px);background:#0b1220}.price-modal .help-close{background:#334155;color:#e2e8f0}.price-table-wrap{display:flex;flex-direction:column;gap:12px;min-height:100%}.price-sheet{overflow:auto;border:1px solid #475569;border-radius:8px;max-height:none}.price-sheet,.price-table{background:#151c2c;width:100%}.price-table{min-width:1280px;border-collapse:collapse;font-size:clamp(9px,.72vw,12px);color:#e2e8f0;table-layout:auto}.price-table td,.price-table th{border:1px solid #334155;padding:4px 3px;text-align:center;vertical-align:middle;color:#e2e8f0;background:#151c2c}.price-table thead th{background:#0e7490;color:#ecfeff;font-weight:600}.price-table .th-units th,.price-table .th-visit-note{background:#155e75;font-weight:500;font-size:10px;color:#e0f2fe}.price-table .td-num,.price-table .th-num{width:28px;min-width:28px;background:#1e293b;font-size:10px;color:#94a3b8}.price-table .td-equip,.price-table .th-equip{text-align:left;min-width:170px;max-width:240px;padding-left:6px}.price-table .td-equip{font-weight:600;background:#1a2234;color:#f1f5f9}.price-table .td-class,.price-table .th-class{min-width:108px;font-size:11px}.price-table .th-vert{max-width:36px;font-size:clamp(9px,.75vw,11px)}.price-table .th-vert,.price-table .th-visit-label{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;min-height:clamp(180px,22vh,220px);height:clamp(180px,22vh,220px);overflow:visible;line-height:1.15;padding:6px 2px}.price-table .th-visit-label{min-width:40px;max-width:48px;font-size:clamp(9px,.7vw,10px)}.price-table .th-visit-note{writing-mode:horizontal-tb;transform:none;font-size:10px;line-height:1.25;max-width:140px;font-weight:500}.price-table .td-visit{font-weight:700;font-size:16px;background:#1e293b;color:#f8fafc;min-width:72px;vertical-align:middle;height:100%}.price-table tr.tone-green>td:not(.td-num):not(.td-equip):not(.td-visit){background:#16a34a!important;color:#052e16!important;font-weight:700}.price-table tr.tone-yellow>td:not(.td-num):not(.td-equip):not(.td-visit){background:#eab308!important;color:#422006!important;font-weight:700}.price-table tr.tone-blue>td:not(.td-num):not(.td-equip):not(.td-visit){background:#3b82f6!important;color:#eff6ff!important;font-weight:700}.price-legend-grid{display:grid;grid-template-columns:1.7fr 1fr;grid-gap:10px;gap:10px;align-items:stretch}.price-legend-box{background:#151c2c;border:1px solid #64748b;border-radius:8px;padding:10px 12px;box-shadow:inset 0 0 0 1px rgba(148,163,184,.15);display:flex;flex-direction:column;min-height:100%;box-sizing:border-box}.price-legend-box h4{margin:0 0 8px;color:#93c5fd;font-size:13px;flex-shrink:0}.price-legend-box ul{margin:0;padding-left:16px;color:#cbd5e1;font-size:11px;line-height:1.4}.price-legend-box ul:not(.price-class-legend){padding-left:0;list-style:none;border:1px solid #475569;border-radius:6px;overflow:hidden;flex:1 1 auto}.price-legend-box ul:not(.price-class-legend) li{margin:0;padding:6px 10px;border-bottom:1px solid #475569}.price-legend-box ul:not(.price-class-legend) li:last-child{border-bottom:none}.price-class-legend{list-style:none;padding-left:0!important;flex:1 1 auto;gap:6px;height:100%;font-size:13px;line-height:1.45}.price-class-legend,.price-class-legend li{display:flex;flex-direction:column;min-height:0}.price-class-legend li{justify-content:center;gap:4px;padding:10px 12px;margin:0;border:1px solid #334155;border-radius:6px;color:#0f172a;flex:1 1;box-sizing:border-box}.price-class-legend li strong{font-size:14px}.price-class-legend li span{font-size:12px}.price-class-legend .legend-green{background:#16a34a}.price-class-legend .legend-yellow{background:#eab308}.price-class-legend .legend-blue{background:#3b82f6;color:#eff6ff}@media (max-width:1280px){.price-table{min-width:1100px}}@media (max-width:900px){.price-modal-backdrop{padding:0}.price-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:none}.price-table{min-width:980px}.price-table .th-vert,.price-table .th-visit-label{min-height:160px;height:160px}}@media (max-width:720px){.grid,.item-row,.item-row-services,.price-legend-grid{grid-template-columns:1fr}.price-table{min-width:860px;font-size:9px}.price-table .th-vert,.price-table .th-visit-label{min-height:140px;height:140px}}@media (min-width:1800px){.price-modal{width:min(1800px,100%)}.price-table{min-width:1400px;font-size:12px}}