@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&family=DM+Mono:wght@400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f5f0;--surface:#fff;--surface2:#f0ede8;--border:#e2ddd6;--border-strong:#c8c2b8;--text:#1a1714;--text-secondary:#6b6560;--text-hint:#a09890;--accent:#2d5016;--accent-light:#ebf2e3;--accent-text:#1a3009;--amber:#92400e;--amber-light:#fef3c7;--red:#991b1b;--red-light:#fee2e2;--blue:#1e3a5f;--blue-light:#dbeafe;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014,0 2px 4px #0000000a;--bottom-nav-h:68px}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#f7f5f0;background:var(--bg);color:#1a1714;color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6}.app-shell{display:flex;min-height:100vh}.sidebar{background:#fff;background:var(--surface);border-right:1px solid #e2ddd6;border-right:1px solid var(--border);bottom:0;display:flex;flex-direction:column;flex-shrink:0;left:0;position:fixed;top:0;width:240px;z-index:10}.main-content{flex:1 1;margin-left:240px;min-height:100vh;padding:2rem}.sidebar-logo{border-bottom:1px solid #e2ddd6;border-bottom:1px solid var(--border);padding:1.5rem 1.25rem 1rem}.sidebar-logo h1{font-size:18px;font-weight:600;letter-spacing:-.3px}.sidebar-logo span{color:#a09890;color:var(--text-hint);display:block;font-size:11px;margin-top:2px}.sidebar-nav{flex:1 1;padding:.75rem}.nav-item,.sidebar-nav a{align-items:center;background:none;border:none;border-radius:10px;border-radius:var(--radius-md);color:#6b6560;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:10px;min-height:44px;padding:11px 12px;text-decoration:none;transition:background .15s,color .15s;width:100%}.nav-item:hover,.sidebar-nav a:hover{background:#f0ede8;background:var(--surface2);color:#1a1714;color:var(--text)}.nav-item.active,.sidebar-nav a.active{background:#ebf2e3;background:var(--accent-light);color:#1a3009;color:var(--accent-text);font-weight:500}.nav-item svg,.sidebar-nav a svg{flex-shrink:0;height:18px;width:18px}.sidebar-footer{border-top:1px solid #e2ddd6;border-top:1px solid var(--border);padding:1rem}.user-pill{background:#f0ede8;background:var(--surface2);border-radius:10px;border-radius:var(--radius-md);gap:10px;padding:8px}.user-avatar,.user-pill{align-items:center;display:flex}.user-avatar{background:#ebf2e3;background:var(--accent-light);border-radius:50%;color:#1a3009;color:var(--accent-text);flex-shrink:0;font-size:13px;font-weight:600;height:36px;justify-content:center;width:36px}.user-info{flex:1 1;min-width:0}.user-info strong{display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info span{color:#a09890;color:var(--text-hint);font-size:11px}.bottom-nav{display:none}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:1.5rem}.page-title{font-size:22px;font-weight:600;letter-spacing:-.4px}.page-subtitle{color:#6b6560;color:var(--text-secondary);font-size:14px;margin-top:2px}.card{background:#fff;background:var(--surface);border:1px solid #e2ddd6;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow);padding:1.25rem}.card-sm{border-radius:10px;border-radius:var(--radius-md);padding:1rem}.stat-card{text-align:left}.stat-label{color:#a09890;color:var(--text-hint);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.stat-value{font-size:28px;font-weight:600;letter-spacing:-.5px;margin-top:4px}.stat-sub{color:#6b6560;color:var(--text-secondary);font-size:13px;margin-top:2px}.grid-4{grid-gap:12px;grid-template-columns:repeat(4,1fr)}.grid-3,.grid-4{display:grid;gap:12px}.grid-3{grid-gap:12px;grid-template-columns:repeat(3,1fr)}.grid-2{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.btn{align-items:center;border:1px solid #0000;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:6px;justify-content:center;min-height:44px;padding:10px 18px;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn svg{height:16px;width:16px}.btn-primary{background:#2d5016;background:var(--accent);border-color:#2d5016;border-color:var(--accent);color:#fff}.btn-primary:hover{background:#234010}.btn-secondary{background:#fff;background:var(--surface);border-color:#c8c2b8;border-color:var(--border-strong);color:#1a1714;color:var(--text)}.btn-secondary:hover{background:#f0ede8;background:var(--surface2)}.btn-danger{background:#fee2e2;background:var(--red-light);border-color:#fecaca;color:#991b1b;color:var(--red)}.btn-danger:hover{background:#fee2e2}.btn-sm{font-size:13px;min-height:36px;padding:7px 14px}.btn-ghost{background:#0000;border-color:#0000;color:#6b6560;color:var(--text-secondary)}.btn-ghost:hover{background:#f0ede8;background:var(--surface2);color:#1a1714;color:var(--text)}.form-group{margin-bottom:1rem}.form-label{color:#6b6560;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-input,.form-select,.form-textarea{background:#fff;background:var(--surface);border:1px solid #e2ddd6;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);color:#1a1714;color:var(--text);font-family:inherit;font-size:16px;min-height:44px;outline:none;padding:11px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#2d5016;border-color:var(--accent);box-shadow:0 0 0 3px #2d50161a}.form-textarea{min-height:80px;resize:vertical}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{color:#a09890;color:var(--text-hint);font-size:12px;font-weight:500;letter-spacing:.05em;padding:10px 12px;text-align:left;text-transform:uppercase}tbody td,thead th{border-bottom:1px solid #e2ddd6;border-bottom:1px solid var(--border)}tbody td{font-size:14px;padding:13px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#f7f5f0;background:var(--bg)}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:4px 9px;white-space:nowrap}.badge-green{background:#ebf2e3;background:var(--accent-light);color:#1a3009;color:var(--accent-text)}.badge-amber{background:#fef3c7;background:var(--amber-light);color:#92400e;color:var(--amber)}.badge-red{background:#fee2e2;background:var(--red-light);color:#991b1b;color:var(--red)}.badge-blue{background:#dbeafe;background:var(--blue-light);color:#1e3a5f;color:var(--blue)}.badge-gray{background:#f0ede8;background:var(--surface2);color:#6b6560;color:var(--text-secondary)}.modal-overlay{align-items:flex-end;background:#00000073;display:flex;inset:0;justify-content:center;padding:0;position:fixed;z-index:100}.modal{background:#fff;background:var(--surface);border-radius:16px 16px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;box-shadow:var(--shadow-md);max-height:92vh;max-width:100%;overflow-y:auto;padding:1rem 1.5rem 1.5rem;width:100%}.modal:before{background:#c8c2b8;background:var(--border-strong);border-radius:2px;content:"";display:block;height:4px;margin:0 auto 1.25rem;width:40px}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.modal-title{font-size:17px;font-weight:600}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:1.25rem;padding-bottom:env(safe-area-inset-bottom)}.alert{align-items:flex-start;border-radius:10px;border-radius:var(--radius-md);display:flex;gap:12px;margin-bottom:1rem;padding:12px 16px}.alert-amber{background:#fef3c7;background:var(--amber-light);border:1px solid #fde68a;color:#92400e;color:var(--amber)}.alert-red{background:#fee2e2;background:var(--red-light);border:1px solid #fecaca;color:#991b1b;color:var(--red)}.alert-green{background:#ebf2e3;background:var(--accent-light);border:1px solid #bbf7d0;color:#1a3009;color:var(--accent-text)}.alert svg{flex-shrink:0;height:16px;margin-top:2px;width:16px}.alert-body strong{display:block;font-size:13px;font-weight:600}.alert-body p{font-size:13px;margin-top:2px}.avatar{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;height:36px;justify-content:center;width:36px}.divider{background:#e2ddd6;background:var(--border);height:1px;margin:1rem 0}.spinner{animation:spin .6s linear infinite;border:2px solid #e2ddd6;border-top-color:#2d5016;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen{align-items:center;display:flex;gap:12px;justify-content:center;min-height:100vh}.empty-state,.loading-screen{color:#6b6560;color:var(--text-secondary)}.empty-state{padding:3rem 1rem;text-align:center}.empty-state svg{height:40px;margin-bottom:12px;opacity:.3;width:40px}.empty-state h3{color:#1a1714;color:var(--text);font-size:15px;font-weight:500;margin-bottom:4px}.empty-state p{font-size:14px}.search-wrap{position:relative}.search-wrap svg{color:#a09890;color:var(--text-hint);height:16px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:16px}.search-wrap input{padding-left:38px}.flex{display:flex}.flex-1{flex:1 1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.text-sm{font-size:13px}.text-hint{color:#a09890;color:var(--text-hint)}.text-secondary{color:#6b6560;color:var(--text-secondary)}.font-500{font-weight:500}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1024px){.sidebar{display:none}.main-content{margin-left:0;padding:1.25rem 1.25rem calc(68px + 1rem);padding-bottom:calc(var(--bottom-nav-h) + 1rem)}.bottom-nav{background:#fff;background:var(--surface);border-top:1px solid #e2ddd6;border-top:1px solid var(--border);bottom:0;display:flex;height:68px;height:var(--bottom-nav-h);left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:50}.bottom-nav a{align-items:center;color:#a09890;color:var(--text-hint);display:flex;flex:1 1;flex-direction:column;font-size:11px;font-weight:500;gap:4px;justify-content:center;min-height:44px;padding:8px 0;text-decoration:none;transition:color .15s}.bottom-nav a.active{color:#2d5016;color:var(--accent)}.bottom-nav a svg{height:22px;width:22px}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.page-header{align-items:stretch;flex-direction:column}.page-header>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.modal{border-radius:16px 16px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%}.modal-overlay{align-items:flex-end}}@media (max-width:640px){.main-content{padding:1rem 1rem calc(68px + 1rem);padding-bottom:calc(var(--bottom-nav-h) + 1rem)}.grid-3,.grid-4{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.hide-mobile{display:none!important}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{justify-content:center;width:100%}.modal-footer .btn-danger{order:3}.page-title{font-size:20px}.stat-value{font-size:24px}}@media (min-width:1025px){.modal-overlay{align-items:center;padding:1rem}.modal{border-radius:16px;border-radius:var(--radius-lg);max-width:480px}.modal:before{display:none}}.pricing-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.faq-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:1024px){.pricing-grid{margin-left:auto;margin-right:auto;max-width:480px}.faq-grid,.pricing-grid{grid-template-columns:1fr}.page-header .flex{flex-wrap:wrap}.page-header .flex .btn{flex:1 1;min-width:40px}}@media (max-width:640px){.stat-value{font-size:22px}.page-title{font-size:18px}.card{padding:1rem}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.hide-tablet{display:none!important}tbody td,thead th{font-size:13px;padding:10px 8px}}@media (max-width:1024px){.cal-week-only{display:none}}@media (max-width:768px){.pricing-grid{grid-template-columns:1fr!important}}
/*# sourceMappingURL=main.96f61c28.css.map*/