@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,DM Sans,sans-serif;color:#292823;background:#f8f7f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:#f8f7f4;color:#292823}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s,opacity .18s}button:hover{transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}.shell{display:flex;min-height:100vh;background:#f8f7f4}.sidebar{width:244px;flex-shrink:0;background:#1d2524;color:#fff;padding:32px 17px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-brand{display:flex;align-items:center;gap:12px;padding:0 9px 44px;font-size:19px;font-weight:800;letter-spacing:.13em}.side-brand small{display:block;font-size:8px;letter-spacing:2px;color:#9caeaa;margin-top:5px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#d8e8d9;color:#263b32;border-radius:13px;font-size:27px;font-weight:800}.sidebar nav{display:grid;gap:8px}.sidebar nav button,.side-bottom button{border:0;background:transparent;color:#aab7b2;display:flex;align-items:center;gap:13px;text-align:left;padding:14px;border-radius:12px;font-size:12px;font-weight:600}.sidebar nav button{width:100%}.sidebar nav button:hover,.sidebar nav .nav-active{background:#35443e;color:#f4f8f3}.nav-chevron{margin-left:auto;opacity:.7}.side-bottom{margin-top:auto;padding:23px 12px 0;border-top:1px solid #36413d;color:#a9b0be;font-size:12px}.workspace{flex:1;min-width:0}.topbar{height:82px;background:#fffefa;border-bottom:1px solid #eeece6;display:flex;align-items:center;justify-content:space-between;padding:0 49px;font-weight:700}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px;color:#555f59}.top-muted{color:#9b9e98;font-weight:400}.content{max-width:1490px;margin:auto;padding:40px 50px 80px}.primary{background:#294d3f!important;color:#fff!important;border:0!important;border-radius:11px!important;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 16px #294d3f1c}.primary:hover{background:#35614e!important}.secondary{background:#f0f1ec;color:#33483d;border:1px solid #e3e7df;border-radius:11px;padding:12px 16px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}.page-title h1{font-size:clamp(30px,3.2vw,42px);letter-spacing:-.065em;font-weight:800;margin:7px 0}.page-title p{font-size:13px;color:#89918b;margin:0}.eyebrow{font-size:10px;color:#748c7e;letter-spacing:.2em;display:flex;align-items:center;gap:9px}.eyebrow-dot{width:7px;height:7px;background:#a5bd91;border-radius:50%}.welcome-banner{min-height:230px;background:#e4eae0;border:1px solid #dce5d8;border-radius:21px;display:flex;overflow:hidden;position:relative;margin-bottom:30px}.banner-copy{position:relative;z-index:1;padding:33px 38px;max-width:650px}.banner-kicker{font-size:10px;letter-spacing:.18em;color:#597562;font-weight:800;display:flex;gap:9px;align-items:center}.welcome-banner h2{font-size:clamp(24px,2.6vw,35px);font-weight:800;letter-spacing:-.055em;margin:15px 0 7px}.welcome-banner p{font-size:12px;color:#617468;max-width:390px;margin:0 0 20px}.welcome-banner button{background:#294d3f;color:#fff;padding:12px 16px;border:0;border-radius:10px;font-size:11px}.banner-art{flex:1;min-width:180px;position:relative;display:grid;place-items:center}.art-orbit{position:absolute;width:270px;height:270px;border:1px solid #b5c8b6;border-radius:50%;right:12%;top:-15%}.orbit-two{width:370px;height:370px;right:-5%;top:-34%;border-color:#cbd8c8}.art-bag{height:130px;width:130px;background:#c6d7c4;border:1px solid #adc4ae;border-radius:29px;display:grid;place-items:center;color:#426650;transform:rotate(-12deg);box-shadow:18px 17px #d4dfd0}.art-sparkle{position:absolute;right:18%;top:16%;font-size:39px;color:#91b19a}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-heading h2{font-size:17px;font-weight:800;letter-spacing:-.03em;margin:0}.section-heading span{font-size:9px;color:#9aa49a;font-weight:800;letter-spacing:.18em}.lower-heading{margin-top:29px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric-grid article{background:#fff;border:1px solid #e9ebe4;border-radius:16px;padding:23px 22px;display:grid;gap:10px;box-shadow:0 8px 26px #223a2c05}.metric-grid article span{font-size:11px;color:#7f8c82;font-weight:700}.metric-grid article strong{font-size:30px;letter-spacing:-.055em}.metric-grid article small{font-size:10px;color:#a1a9a0}.metric-grid article:nth-child(2){background:#f1f5ec}.metric-grid article:nth-child(3){background:#eef1ea}.metric-grid article:nth-child(4){background:#fcf3ec}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-grid .panel,.catalog{background:#fff;border:1px solid #e9ebe4;border-radius:17px;padding:26px;box-shadow:0 8px 26px #223a2c05}.dashboard-grid h2,.catalog h2{font-size:16px;letter-spacing:-.03em;margin:0 0 20px}.category-row{display:flex;align-items:center;gap:12px;width:100%;padding:16px 0;border:0;border-bottom:1px solid #f0f1f4;background:transparent;text-align:left;font-size:12px;color:#49574e}.category-row>span:first-child{width:105px}.bar-track{height:8px;border-radius:10px;background:#eff2ec;flex:1;overflow:hidden}.bar-track span{display:block;height:100%;background:#8cae93;border-radius:10px}.recent{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid #f0f1f4;font-size:12px}.recent img,.photo-placeholder{width:54px;height:54px;object-fit:cover;border-radius:12px;background:#edf1e9;display:grid;place-items:center}.recent>div:nth-child(2){flex:1}.recent small{display:block;color:#8a919b;margin-top:5px}.catalog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.filters{display:flex;gap:12px;margin:15px 0 24px}.filters input{flex:1}.filters select{min-width:175px}.filters input,.filters select,.dialog-form input,.dialog-form select,.dialog-form textarea{background:#fffefa;border:1px solid #e3e7df;border-radius:11px;padding:13px;min-width:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-card{border:1px solid #e9ebe4;border-radius:16px;overflow:hidden;box-shadow:0 5px 20px #23372b08;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #23372b15}.product-image{height:230px;background:#f0f2eb;display:grid;place-items:center;color:#8fa69a}.product-image img{width:100%;height:100%;object-fit:cover}.product-info{padding:20px}.product-info>small:first-child{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#7b9585}.product-info h3{font-size:16px;margin:9px 0}.product-info p{font-size:13px;color:#808996}.product-line{display:flex;justify-content:space-between;margin:15px 0 6px}.product-line strong{font-size:18px}.product-line span{font-size:12px;color:#5c9874}.product-line .stock-low{color:#d36458}.sku{display:block}.card-actions{display:flex;gap:8px;margin-top:15px}.card-actions button{flex:1;justify-content:center}.empty-state{text-align:center;padding:55px;color:#9299a3}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#131e1999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:15px}.product-dialog,.scanner-dialog{background:#fff;width:min(710px,95vw);max-height:90vh;overflow:auto;border-radius:24px;padding:32px;box-shadow:0 30px 100px #0c211e40}.modal-top{display:flex;justify-content:space-between;align-items:start}.modal-top h2{font-size:24px;letter-spacing:-.04em;margin:8px 0 22px}.dialog-form{display:grid;gap:20px}.dialog-form label{display:grid;gap:6px;font-size:12px;font-weight:600;color:#536258}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upload-field{border:1.5px dashed #c5d5c6;border-radius:15px;background:#f5f8f2;min-height:125px;display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:6px!important;cursor:pointer}.upload-field input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-field strong{font-size:12px}.upload-field small{font-size:10px;color:#91a296}.upload-icon{color:#537b60}.preview-photo{width:110px;height:110px;object-fit:cover;border-radius:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.camera-frame{border-radius:18px;overflow:hidden}.notice{background:#e9f3e9;color:#30543b;border-radius:10px;padding:12px}.muted{color:#9299a3;font-size:13px}.setup{background:#fff;padding:40px;border:1px solid #e5eae2;border-radius:22px;box-shadow:0 15px 60px #14291a12}.setup h1{font-size:31px}@media(max-width:1100px){.content{padding:30px}.topbar{padding:0 30px}.sidebar{width:210px}.metric-grid,.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{display:block}.sidebar{height:auto;min-height:0;width:100%;position:static;padding:12px}.side-brand{padding:5px 10px 12px}.sidebar nav{display:flex;gap:5px;overflow-x:auto}.sidebar nav button{width:auto;white-space:nowrap;padding:11px}.nav-chevron,.side-bottom{display:none}.topbar{height:65px;padding:0 18px}.content{padding:23px 15px 55px}.page-title{align-items:start;gap:15px}.page-title h1{font-size:24px}.welcome-banner{min-height:210px}.banner-copy{padding:25px 20px}.banner-art{min-width:75px;opacity:.4}.art-bag{width:90px;height:90px}.welcome-banner h2{font-size:26px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-grid article{padding:17px}.dashboard-grid,.product-grid,.form-columns{grid-template-columns:1fr}.filters{flex-direction:column}.product-dialog,.scanner-dialog{padding:23px}.section-heading h2{font-size:16px}}.team-layout{max-width:880px;margin:0 auto;display:grid;gap:22px}.team-intro{margin:0 0 3px}.team-intro h2{font-size:26px;letter-spacing:-.05em;margin:9px 0}.team-intro p{font-size:13px;color:#78877e;margin:0}.team-card{background:#fff;border:1px solid #e4e9e2;border-radius:20px;padding:28px;box-shadow:0 8px 26px #223a2c08}.team-card-heading{display:flex;gap:14px;align-items:center;margin-bottom:24px}.team-icon{width:46px;height:46px;border-radius:14px;background:#e8f0e6;color:#355b46;display:grid;place-items:center;flex-shrink:0}.team-card-heading h3{font-size:17px;letter-spacing:-.03em;margin:0 0 5px}.team-card-heading p{color:#829087;font-size:12px;margin:0}.team-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:end}.team-form label{display:grid;gap:9px;color:#52665a;font-size:12px;font-weight:700}.team-form input,.team-form select{width:100%;min-width:0;height:47px;padding:0 14px;border:1px solid #dfe7de;background:#fbfcf9;border-radius:11px;color:#263a30;font-size:13px}.team-form button{grid-column:1/-1;justify-self:start;min-height:44px}.team-list{display:grid}.team-member{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid #eef1eb;min-width:0}.team-avatar{width:43px;height:43px;border-radius:50%;background:#e8eee6;color:#315441;font-size:17px;font-weight:800;display:grid;place-items:center;flex-shrink:0}.team-member-info{display:grid;gap:5px;flex:1;min-width:0}.team-member-info strong{font-size:13px;overflow-wrap:anywhere}.team-member-info small{color:#8a988d;font-size:11px}.role-pill{border-radius:100px;background:#eef3ed;color:#4d7058;font-size:11px;font-weight:700;padding:7px 11px}.role-admin{background:#e0eee2;color:#2b6043}.team-remove{white-space:nowrap;font-size:11px!important;padding:9px 12px!important}.team-note{font-size:11px;color:#85958a;margin:0 0 15px}.scanner-dialog{width:min(520px,calc(100vw - 28px));padding:26px!important;max-height:calc(100dvh - 28px);overflow-y:auto}.scanner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.scanner-head h2{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:23px;letter-spacing:-.04em}.scanner-head p{margin:0;color:#86958a;font-size:12px}.scanner-head .icon-btn{width:39px;height:39px;display:grid;place-items:center;flex-shrink:0;padding:0!important}.camera-frame{width:100%;height:auto!important;aspect-ratio:4/3;max-height:350px;position:relative;background:#1b2722;border-radius:16px;overflow:hidden}.camera-frame video{display:block;width:100%;height:100%;object-fit:cover}.scan-outline{position:absolute;top:21%;right:17%;bottom:21%;left:17%;pointer-events:none;border:1px solid #d4ead63d;border-radius:9px}.scan-outline span{position:absolute;width:30px;height:30px;border-color:#c7f0cb;border-style:solid}.scan-outline span:nth-child(1){top:-2px;left:-2px;border-width:3px 0 0 3px;border-radius:8px 0 0}.scan-outline span:nth-child(2){top:-2px;right:-2px;border-width:3px 3px 0 0;border-radius:0 8px 0 0}.scan-outline span:nth-child(3){bottom:-2px;left:-2px;border-width:0 0 3px 3px;border-radius:0 0 0 8px}.scan-outline span:nth-child(4){bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-radius:0 0 8px}.scanner-hint{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:#728779;margin:15px 0 22px}.manual-entry{border-top:1px solid #e9eee8;padding-top:18px}.manual-entry label{display:grid;gap:9px;color:#4e6656;font-size:12px;font-weight:700}.manual-entry input{width:100%;height:46px;padding:0 14px;border:1px solid #dfe7de;border-radius:11px;background:#fbfcf9;font-size:13px}.scan-match{display:grid;gap:12px}.scan-match input{width:100%;padding:12px;border:1px solid #dfe7de;border-radius:10px}.scan-match button{justify-content:center}@media(max-width:700px){.team-layout{max-width:100%}.team-card{padding:19px}.team-form{grid-template-columns:1fr}.team-member{flex-wrap:wrap}.team-member-info{flex-basis:calc(100% - 65px)}.team-remove{margin-left:57px}.scanner-dialog{padding:18px!important}.camera-frame{max-height:310px}}.fabfit-login{min-height:100vh;display:grid;grid-template-columns:45% 55%;background:#f7f6f2;font-family:DM Sans,sans-serif}.login-brand{background:#173d32;color:#fff;padding:56px 64px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-logo{font-family:Manrope,sans-serif;font-size:62px;font-weight:800;letter-spacing:-7px;line-height:1}.login-brand-name{margin-top:16px;font-size:20px;font-weight:800;letter-spacing:3px}.login-brand-name span{font-weight:400}.login-brand>p{font-size:11px;letter-spacing:2px;color:#c1d2c9;margin-top:15px}.login-decoration{flex:1;display:flex;align-items:center;justify-content:center;color:#a3c4b3;opacity:.55}.login-decoration svg{width:min(55%,260px);height:auto}.login-brand-footer{font-size:10px;letter-spacing:2px;color:#a9c2b5}.login-area{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:100%;max-width:430px}.login-eyebrow{color:#648778;font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:16px}.login-card h1{font-family:Manrope,sans-serif;font-size:clamp(32px,4vw,46px);letter-spacing:-2px;color:#183d32;margin:0 0 12px}.login-subtitle{color:#78857e;margin-bottom:36px}.login-form{display:flex;flex-direction:column;gap:22px}.login-form label{display:flex;flex-direction:column;gap:9px;color:#263c32;font-size:13px;font-weight:700}.login-form input{height:52px;width:100%;box-sizing:border-box;border:1px solid #d9e1db;background:#fff;border-radius:10px;padding:0 16px;font-size:14px;color:#263c32}.login-form input:focus{outline:2px solid #8ebba2;outline-offset:1px}.login-submit{margin-top:8px;height:54px;border:0;border-radius:10px;background:#173d32;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer}.login-submit:hover{background:#245644}.login-submit:disabled{opacity:.6;cursor:wait}.login-error{color:#ad3838;margin-top:16px}.login-help{margin-top:28px;color:#8a9890;font-size:12px;text-align:center}@media(max-width:760px){.fabfit-login{grid-template-columns:1fr}.login-brand{padding:26px;min-height:110px}.login-decoration,.login-brand-footer{display:none}.login-brand-name{margin-top:8px}.login-area{padding:45px 24px}}
