:root{--accent: #17c3e6;--accent-dark: #0fa8c9;--navy: #101326;--navy-soft: #1a1f3d;--gold: #f2b93a;--bg: #f5f6fa;--surface: #ffffff;--text: #14162a;--muted: #767a94;--border: #e3e5ef;--success: #1f8a52;--error: #c0392b}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px;text-align:center;padding:20px}.muted{color:var(--muted)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,var(--navy-soft) 0%,var(--navy) 60%)}.login-box{background:var(--surface);border-radius:16px;padding:40px;width:100%;max-width:380px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;gap:14px}.login-box h1{margin:0}.login-subtitle{margin:0 0 8px;color:var(--muted)}.login-box label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.login-box input{padding:10px 12px;border:1px solid var(--border);border-radius:8px}.login-box button{margin-top:8px;padding:12px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600}.login-error{color:var(--error);font-size:13px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:10}.app-header-left,.app-header-right{display:flex;align-items:center;gap:14px}.brand{font-weight:700;letter-spacing:.02em}.point-switch,.role-switch{border:1px solid rgba(255,255,255,.2);background:var(--navy-soft);color:#fff;border-radius:20px;padding:6px 14px}.app-header .muted{color:#fff9}.btn-link{border:none;background:none;color:var(--accent)}.order-layout{display:flex;gap:20px;padding:20px;max-width:1200px;margin:0 auto}.category-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.menu-toggle{display:none;border:1px solid rgba(255,255,255,.2);background:var(--navy-soft);color:#fff;border-radius:8px;padding:6px 10px;font-size:16px;line-height:1}.category-sidebar-header,.sidebar-backdrop{display:none}.category-link{display:flex;justify-content:space-between;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px}.category-link:hover{background:var(--border)}.category-link.active{background:var(--accent);color:#fff}.category-count{color:inherit;opacity:.6;font-size:12px}.product-main{flex:1;min-width:0}.search-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:16px}.category-section h2{font-size:16px;margin:20px 0 8px}.products-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:10px;overflow:hidden}.products-table td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px}.product-name-cell{cursor:pointer}.unit-cell{color:var(--muted);width:60px}.quantity-cell{display:flex;align-items:center;gap:6px;width:140px}.quantity-cell button{width:28px;height:28px;border:1px solid var(--border);background:var(--bg);border-radius:6px}.quantity-cell button:disabled{opacity:.4;cursor:default}.quantity-cell input{width:50px;text-align:center;padding:4px;border:1px solid var(--border);border-radius:6px}.floating-cart-btn{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:22px;box-shadow:0 6px 20px #00000040}.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--error);color:#fff;font-size:11px;border-radius:10px;padding:1px 6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--surface);border-radius:16px;padding:24px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-close{border:none;background:none;font-size:18px}.modal textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;margin-top:12px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-close-text{margin-top:16px;border:none;background:none;color:var(--muted)}.btn-primary{background:var(--accent);color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600}.btn-primary:disabled{opacity:.5}.btn-secondary{background:var(--bg);border:1px solid var(--border);padding:10px 16px;border-radius:8px}.btn-danger{color:var(--error);border-color:var(--error)}.point-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.point-item{display:flex;flex-direction:column;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left}.point-item:hover{border-color:var(--accent)}.point-name{font-weight:600}.point-address{color:var(--muted);font-size:13px}.role-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.role-item{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left;font-weight:600}.role-item:hover{border-color:var(--accent)}.role-switch{border:1px solid var(--border);background:var(--bg);border-radius:20px;padding:6px 14px;font-size:13px}.cart-items{margin-top:12px;display:flex;flex-direction:column;gap:4px}.cart-category{font-weight:600;margin-top:12px;font-size:13px;color:var(--muted);text-transform:uppercase}.cart-item{padding:8px 0;border-bottom:1px solid var(--border);cursor:pointer}.cart-item-main{display:flex;justify-content:space-between}.cart-item-comment{font-size:12px;color:var(--muted);margin-top:2px}.empty-cart{text-align:center;padding:30px 0}.notice{padding:12px 16px;border-radius:8px;cursor:pointer;max-width:1160px;margin:12px auto 0}.notice-success{background:#e5f6ec;color:var(--success)}.notice-error{background:#fbe9e7;color:var(--error)}.admin-tabs{display:flex;gap:8px;padding:16px 20px 0}.admin-tabs button{padding:10px 18px;border:none;background:none;border-bottom:2px solid transparent}.admin-tabs button.active{border-color:var(--accent);font-weight:600}.admin-content{padding:20px;max-width:1000px}.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px;background:var(--surface);padding:16px;border-radius:10px;border:1px solid var(--border)}.inline-form input,.inline-form select{padding:8px 10px;border:1px solid var(--border);border-radius:6px}.user-form select[multiple]{min-width:160px;min-height:60px}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:10px;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px}.table-actions{display:flex;gap:6px}.placeholder-page{max-width:600px;margin:60px auto;text-align:center;padding:0 20px}.role-checkboxes{display:flex;gap:14px;border:none;padding:0;margin:0}.role-checkboxes label{display:flex;align-items:center;gap:4px;font-size:14px}.catalog-table .catalog-thumb{width:36px;height:36px;object-fit:cover;border-radius:6px}.catalog-table .unit-input{width:90px;padding:4px 6px;border:1px solid var(--border);border-radius:6px}.catalog-table tr.row-flagged{background:#fff8e6}@media (max-width: 860px){.app-header{padding:10px 14px;flex-wrap:wrap;gap:8px}.app-header-left{gap:8px}.brand{font-size:14px}.point-switch,.role-switch{padding:5px 10px;font-size:13px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.order-layout{flex-direction:column;padding:12px;gap:12px}.category-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(80vw,300px);background:var(--surface);z-index:101;padding:8px;box-shadow:4px 0 24px #0003;transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.category-sidebar.open{transform:translate(0)}.category-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 14px;font-weight:700}.sidebar-close{border:none;background:none;font-size:16px;color:var(--muted)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100}.category-section h2{font-size:14px}.products-table td{padding:8px 6px;font-size:13px}.quantity-cell{width:auto;gap:4px}.quantity-cell input{width:40px}.floating-cart-btn{right:16px;bottom:16px;width:52px;height:52px}.modal{padding:18px}.inline-form{flex-direction:column;align-items:stretch}.admin-table{display:block;overflow-x:auto}}
