:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:#0b1030;background:#f6f8ff;--primary: #6366f1;--primary-strong: #4f46e5;--primary-soft: #edebff;--primary-grad: linear-gradient(135deg, #6366f1, #8b5cf6);--accent: #8b5cf6;--ring: rgba(99, 102, 241, .18);--text: #131836;--text-muted: #646e8b;--text-soft: #8b93b5;--bg: #f6f8fb;--surface: #ffffff;--border: #e7e9f4;--sidebar-bg: #0f1724;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--shadow-sm: 0 2px 8px rgba(40, 52, 120, .06);--shadow: 0 12px 30px rgba(40, 52, 120, .12);--shadow-lg: 0 24px 60px rgba(40, 52, 120, .18)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app-root{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top left,#e7e6ff 0,#f6f8ff 45%,#fff)}.nav{display:flex;gap:24px;font-size:14px}.modal{background:#fff;border-radius:20px;padding:24px 28px;max-width:440px;width:100%;box-shadow:0 18px 40px #0f172a59}.landing-root{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#f7fbff);color:#0b1030;font-family:system-ui,-apple-system,Segoe UI,Roboto,SF Pro Text,sans-serif}.landing-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.landing-logo{font-weight:700;font-size:18px}.landing-nav{display:flex;gap:20px}.landing-link{color:#647095;text-decoration:none;font-size:14px}.landing-hero{display:flex;align-items:center;justify-content:center;padding:64px 20px;background:linear-gradient(180deg,#edebff,#f5f7ff);min-height:40rem}.hero-content{max-width:980px;text-align:center}.hero-title{font-size:40px;margin:0 0 12px}.hero-sub{font-size:16px;color:#52607a;margin-bottom:18px}.hero-cta{display:flex;gap:12px;justify-content:center}.landing-features{padding:48px 20px;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:980px;margin:20px auto 0}.feature-card{background:linear-gradient(180deg,#edebff,#f5f7ff);padding:18px;border-radius:12px;box-shadow:0 8px 24px #0f172a0f}.landing-partners{padding:36px 20px 80px;text-align:center;background:linear-gradient(180deg,#edebff,#f5f7ff)}.partners-carousel{margin-top:18px;height:96px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.partner-item{position:absolute;opacity:0;transform:scale(.9);transition:opacity .4s ease,transform .4s ease;width:240px;height:64px;display:flex;align-items:center;justify-content:center}.partner-item.active{opacity:1;transform:scale(1)}.partner-logo{background:linear-gradient(90deg,#eef6ff,#fff);padding:12px 20px;border-radius:8px;border:1px solid #e6eefc;font-weight:600;color:#4f46e5}.landing-footer{padding:20px 40px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef3ff;background:#f8fbff}.footer-links a{color:#647095;margin-left:12px;text-decoration:none}.btn{border-radius:999px;padding:10px 18px;font-size:14px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}@media (max-width: 720px){.hero-title{font-size:28px}.partners-carousel{height:72px}}.nav{display:flex;gap:24px;font-size:14px;align-items:center}.nav-link{text-decoration:none;color:#647095}.logo-link{text-decoration:none;color:#6366f1}.nav-link.active{color:#6366f1;font-weight:600}.common-btn{display:flex;gap:10px;align-items:center}.menu-container{display:flex;align-items:center;justify-content:space-between;width:auto;gap:5rem}.menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer}.hamburger{width:20px;height:2px;background:#6366f1;display:block;position:relative}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;right:0;height:2px;background:#6366f1}.hamburger:before{top:-6px}.hamburger:after{top:6px}@media (max-width: 720px){.menu-toggle{display:block}.nav{position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 16px;border-bottom:1px solid #eef3ff;transform-origin:top;max-height:0;overflow:hidden;transition:max-height .26s ease,opacity .2s ease}.nav.open{max-height:220px}.nav-link{padding:12px 8px;display:block}.common-btn{margin-top:20px}}.hero-buttons{display:flex;gap:12px;margin-bottom:12px}.modal-backdrop{position:fixed;inset:0;background:#050a1e59;display:flex;align-items:center;justify-content:center;z-index:50;opacity:1}.modal-backdrop.enter{opacity:0;animation:backdrop-fade-in .22s ease-out forwards}.modal-backdrop.exit{opacity:1;animation:backdrop-fade-out .2s ease-out forwards}.modal.enter{transform:translateY(10px) scale(.995);opacity:0;animation:modal-pop-in .26s cubic-bezier(.2,.8,.2,1) forwards}.modal.exit{transform:translateY(0) scale(1);opacity:1;animation:modal-pop-out .22s cubic-bezier(.2,.8,.2,1) forwards}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px) scale(.99)}60%{opacity:1;transform:translateY(-6px) scale(1.005)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-pop-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.99)}}.btn img{width:16px;height:16px;color:#6366f1}.app-header{border-bottom:2px solid #6366f1}.hero-content{max-width:1120px;margin:0 auto;padding:40px 64px 64px;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:40px;align-items:center}.dropzone{margin:8px 0 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:32px 24px;border:2px dashed #cdd2ee;border-radius:16px;background:#fbfbff;color:#4a5478;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.dropzone:hover{border-color:#6366f1;background:#f6f5ff}.dropzone:focus-visible{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f12e}.dropzone.dragover{border-color:#6366f1;background:#edebff;box-shadow:0 0 0 4px #6366f129;transform:translateY(-1px)}.dropzone.is-busy{cursor:progress;border-style:solid;border-color:#d8dcf3;background:#f6f7ff}.dz-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:20px;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 8px 18px #6366f14d}.dz-title{font-size:14px;font-weight:600;color:#2b3357}.dz-hint{font-size:12px;color:#8b93b5}.dz-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #dcdffa;border-top-color:#6366f1;animation:dz-spin .7s linear infinite}@keyframes dz-spin{to{transform:rotate(360deg)}}.upload-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.status-text.error{color:#d6324b;font-weight:600}.status-text.success{color:#1f9d63;font-weight:600}.cs-wrapper{width:100%;max-width:50%;margin-bottom:20px;position:relative;font-family:inherit}.cs-label{margin-bottom:10px;font-size:14px;color:#3a3a3a;font-weight:500}.cs-selected{background:#fff;border:2px solid #d0d7e2;padding:10px 14px;border-radius:10px;cursor:pointer;transition:.2s;display:flex;justify-content:space-between;align-items:center}.cs-selected:hover{border-color:#6366f1}.cs-arrow{opacity:.6;font-size:12px}.cs-options{position:absolute;width:100%;background:#fff;border:2px solid #d0d7e2;border-radius:10px;margin-top:5px;max-height:220px;overflow-y:auto;z-index:200;box-shadow:0 8px 20px #00000026}.cs-option{padding:10px 14px;cursor:pointer;transition:.15s}.cs-option:hover{background:#e6f0ff}.cs-option.selected{background:#d8e8ff;font-weight:600}.dashboard-root{height:100vh;display:flex;flex-direction:column}.dashboard-layout{display:flex;flex:1;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:#0f1724;color:#fff;padding:12px;box-sizing:border-box;position:relative;transition:width .2s ease}.sidebar.collapsed{width:56px}.sidebar.collapsed .side-link{display:none}.collapse-btn{position:absolute;top:8px;right:-12px;display:inline-flex;align-items:center;justify-content:center;background:#6366f1;color:#fff;border:none;border-radius:6px;width:24px;height:24px;font-size:15px;line-height:1;cursor:pointer;z-index:2}.sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-top:40px}.side-link{color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:14px;transition:background .15s ease,color .15s ease}.side-link:hover{background:#ffffff0d;color:#fff}.side-link.active{color:#fff;background:#6366f138;font-weight:600}.sidebar-burger,.sidebar-overlay{display:none}.dashboard-main{flex:1;min-width:0;padding:24px;overflow:auto;background:#f6f8fb}@media (max-width: 860px){.dashboard-layout{display:block;overflow:visible}.sidebar{position:fixed;top:0;left:0;height:100vh;width:250px;transform:translate(-100%);transition:transform .25s ease;z-index:70}.sidebar.mobile-open{transform:translate(0);box-shadow:0 0 50px #050a1e80}.sidebar.collapsed{width:250px}.sidebar.collapsed .side-link{display:block}.collapse-btn{display:none}.sidebar-overlay{display:block;position:fixed;inset:0;background:#050a1e73;z-index:65}.sidebar-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;position:fixed;top:84px;left:14px;width:42px;height:42px;padding:0 11px;background:#fff;border:1px solid #e1e7ff;border-radius:12px;box-shadow:0 6px 18px #6366f12e;cursor:pointer;z-index:60}.sidebar-burger span{display:block;height:2px;width:100%;background:#6366f1;border-radius:2px}.dashboard-main{padding:64px 16px 24px}}.quick-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:20px}.form-card{background:#fff;padding:20px;border-radius:16px;box-shadow:0 6px 20px #28347812;border:1px solid #eef0f7;display:flex;flex-direction:column}.form-card h3{margin:0 0 14px;font-size:16px}.form-card form{display:flex;flex-direction:column;gap:10px;align-items:stretch}.data-table-card{background:#fff;border-radius:12px;padding:14px;box-shadow:0 8px 20px #0f172a0f;width:100%;box-sizing:border-box}.data-table{width:100%;table-layout:fixed;border-collapse:collapse}.data-table thead th{text-align:left;padding:10px 12px;font-weight:600;cursor:pointer;color:#314169}.data-table tbody td{padding:10px 12px;color:#2b3446;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tbody tr+tr{border-top:1px solid #eef2f8}.data-table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.data-table-pager{display:flex;gap:8px}.docs-section{margin-top:20px}.section-title{font-size:16px;font-weight:700;border-bottom:2px solid rgba(255,255,255,.02);padding-bottom:8px;margin-bottom:10px}.docs-section ul{list-style:none;padding:0;margin:0 0 12px}.docs-section li{margin:6px 0}.hero-data-table-container{width:100%}.link-btn{color:#6366f1;text-decoration:none}.hero-data-table{width:100%}.form-card form input{width:100%;margin:0;border-radius:10px;border:1px solid #dfe3f0;padding:10px 12px;font-size:14px;background:#f8f9fc;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.form-card form input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;background:#fff}.form-card form .btn{align-self:flex-start;margin-top:4px}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:#0b1030;background:#f6f8ff}*{box-sizing:border-box}body,html,#root{margin:0;padding:0;height:100%}#root{width:100%}.app-root{min-height:100vh;display:flex;flex-direction:column;background:#fff}.app-header{height:72px;padding:0 64px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:8px;font-weight:700}.logo-mark{width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#6366f1,#818cf8);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.logo-text{font-size:20px}.header-cta{border-radius:999px;border:1px solid #dde3ff;background:#fff;padding:8px 18px;font-size:14px;cursor:pointer}.hero{flex:1;display:flex;align-items:stretch}.hero-content{max-width:1120px;margin:0 auto;padding:40px 64px 64px;display:flex;flex-direction:column;gap:40px;align-items:center}.hero-text{max-width:520px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#8b93b5;margin-bottom:12px}.hero-title{font-size:40px;line-height:1.1;margin:0 0 16px}.hero-subtitle{font-size:15px;line-height:1.5;color:#646e8b;margin-bottom:24px}.hero-buttons{display:flex;gap:12px;margin:12px auto;justify-content:center}.btn{border-radius:999px;padding:12px 22px;font-size:14px;border:none;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,opacity .1s ease}.btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}.btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 10px 20px #6366f140}.btn.primary:hover:not(:disabled){transform:translateY(-1px)}.btn.secondary{background:#fff;border:1px solid #dde3ff;color:#33415c}.status-text{font-size:13px;color:#7a82a5}.hero-visual{display:flex;justify-content:flex-end}.hero-card{background:linear-gradient(180deg,#edebff,#f5f7ff);border-radius:24px;padding:24px 24px 20px;box-shadow:0 18px 45px #3c588e40;max-width:360px}.hero-card-title{font-size:14px;font-weight:600;margin-bottom:12px;color:#1b2559}.label-preview{border-radius:16px;background:#fff;padding:14px 16px;margin-bottom:12px;border:1px solid #dde3ff}.label-line{font-size:12px;line-height:1.4}.label-inv{margin-top:4px;font-weight:600}.label-barcode{margin-top:10px;font-family:monospace;letter-spacing:3px;font-size:16px}.hero-card-caption{font-size:12px;color:#5f6a8b}@media (max-width: 960px){.app-header{padding:0 20px}.hero-content{padding:20px;grid-template-columns:1fr}.hero-visual{justify-content:flex-start}}.font-hint{margin-top:8px;font-size:12px;color:#7a82a5;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.link-btn{border:none;background:none;padding:0;margin:0;cursor:pointer;font-size:12px;color:#6366f1;text-decoration:underline}.modal-backdrop{position:fixed;inset:0;background:#050a1e59;display:flex;align-items:center;justify-content:center;z-index:50}.modal-btn{margin:10px auto;height:40px}.modal-btn.secondary{margin-bottom:10px}.modal{background:#fff;border-radius:20px;padding:24px 28px;max-width:600px;width:100%;box-shadow:0 18px 40px #0f172a59}.modal-title{margin:0 0 12px;font-size:18px}.modal-list{margin:0 0 18px 18px;padding:0;font-size:13px;color:#555f80}.modal-btn{width:100%;justify-content:center}.paper-setup{margin:20px auto;background:#fffa;padding:12px 16px;border-radius:12px;display:flex;flex-direction:column;gap:10px}.model-creator input,.model-creator select{border:1px solid #e6e9f2;border-radius:8px}.model-creator .btn.secondary{padding:8px 10px}.model-creator .btn.primary{padding:10px 14px}.paper-setup select{padding:6px 10px;font-size:14px}.custom-size{display:flex;gap:10px}.blue{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important}.btn img{width:16px;height:16px}.custom-size input{width:80px;padding:4px 6px;max-width:80px}.mappingField{display:flex;flex-direction:row;justify-content:space-between;border-bottom:2px solid #6366f1;padding:10px}.mappingField>span{width:50%}.paper-setup div input{border-radius:99px;border:2px solid #6366f1;margin-right:10px;padding:5px}.admin-model-select{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-width:320px}.admin-model-label{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#8b93b5}.admin-model-select .cs-wrapper{max-width:100%;margin-bottom:0}.admin-model-select .cs-selected{border-radius:999px;border-color:#d7e2ff;box-shadow:0 10px 22px #6366f11f}.admin-model-select .cs-options{border-radius:16px;border-color:#d7e2ff}.admin-model-select .cs-option:hover{background:#eef4ff}.admin-model-select .cs-option.selected{background:#dfeaff}.object-page{padding:24px;display:flex;justify-content:center}.object-card{max-width:720px;width:100%;background:#fff;border-radius:8px;padding:20px;box-shadow:0 6px 18px #141e320f}.object-title{margin:0 0 12px}.object-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}.object-actions{display:flex;gap:10px;margin-top:16px}.object-note{margin-top:12px;color:#666;font-size:13px}.btn.danger{background:#e74c3c;color:#fff}
