.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;color:var(--text-secondary)}.loading--compact{padding:1.5rem;gap:.75rem}.loading__spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:loading-spin .85s linear infinite}.loading--compact .loading__spinner{width:32px;height:32px;border-width:2.5px}.loading__text{font-size:.9375rem;font-weight:500;letter-spacing:.02em}.loading--compact .loading__text{font-size:.875rem}@keyframes loading-spin{to{transform:rotate(360deg)}}.shipping-page .page-header{margin-bottom:1.75rem}.shipping-page .page-header h1{font-size:1.85rem;font-weight:700;color:var(--text)}.shipping-sections{display:flex;flex-direction:column;gap:1.5rem}.shipping-section{background:var(--bg-card);border-radius:10px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000f;overflow:hidden;position:relative;z-index:1}.shipping-section__header{margin:0;padding:.85rem 1.25rem;font-size:1.125rem;font-weight:700;color:var(--text);background:#f8fafc;border-bottom:1px solid var(--border);letter-spacing:.02em}.shipping-section__list{list-style:none;margin:0;padding:.5rem 0}.shipping-section__item{margin:0;border-bottom:1px solid var(--border)}.shipping-section__item:last-child{border-bottom:none}.shipping-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;color:var(--text);text-decoration:none;font-size:.95rem;font-weight:500;transition:background .15s,color .15s}.shipping-link:hover{background:var(--accent-light);color:var(--accent-hover);text-decoration:none}.shipping-link--disabled{color:var(--text-muted);cursor:not-allowed;pointer-events:none}.shipping-link--disabled:hover{background:transparent;color:var(--text-muted)}.shipping-link__label{flex:1}.shipping-link__badge{font-size:.7rem;font-weight:500;padding:.2rem .5rem;border-radius:4px;background:var(--border);color:var(--text-muted)}.shipping-link:not(.shipping-link--disabled):hover .shipping-link__badge{background:var(--accent-border);color:var(--accent-hover)}.shipping-link__arrow{font-size:.85rem;color:var(--text-muted);flex-shrink:0}.shipping-link:hover .shipping-link__arrow{color:var(--accent-hover)}.shipping-link--disabled .shipping-link__arrow{display:none}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:confirm-overlay-in .15s ease-out}@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-card, #ffffff);border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;padding:1.5rem 1.75rem;max-width:420px;width:100%;animation:confirm-dialog-in .2s ease-out}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog__title{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:var(--text, #0f172a)}.confirm-dialog__message{margin:0 0 1.25rem;font-size:.95rem;color:var(--text-secondary, #475569);line-height:1.5}.confirm-dialog__actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.btn-danger{background:#dc2626;color:#fff;border:1px solid #b91c1c}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#991b1b}.btn-danger:disabled{opacity:.6;cursor:not-allowed}*{box-sizing:border-box}:root{font-family:Plus Jakarta Sans,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;--bg-page: #f1f5f9;--bg-sidebar: #ffffff;--header-blue: #1e40af;--header-blue-dark: #1e3a8a;--header-text: #ffffff;--header-text-muted: rgba(255, 255, 255, .9);--bg-card: #ffffff;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: rgba(37, 99, 235, .1);--accent-border: rgba(37, 99, 235, .35);--text: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border: #e2e8f0;--border-accent: rgba(37, 99, 235, .2);color:var(--text);background-color:var(--bg-page)}html{height:100%}body{margin:0;height:100%;overflow:hidden}#root{height:100%;min-height:0}.app-viewport-root{height:100%;min-height:0;display:flex;flex-direction:column}.app-layout{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-page)}.app-layout__middle{flex:1;min-height:0;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.app-topbar{width:100%;background:linear-gradient(135deg,var(--header-blue) 0%,var(--header-blue-dark) 100%);color:var(--header-text);padding:.65rem 1.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;flex-shrink:0;min-height:64px;border-bottom:none;box-shadow:0 2px 12px #1e40af59}.app-topbar-left{display:flex;align-items:center;min-width:0}.app-logo{display:flex;align-items:center;justify-content:center}.app-logo img.app-logo-img{height:48px;width:auto;display:block}.app-name{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:.02em;justify-self:center;color:var(--header-text);font-family:Plus Jakarta Sans,system-ui,sans-serif}.app-name--centered{grid-column:2}.app-topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-width:0}.app-username{font-size:.875rem;color:var(--header-text-muted)}.app-welcome-block{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.app-welcome{font-size:.9rem;font-weight:500;color:var(--header-text)}.app-date{font-size:.8rem;color:var(--header-text-muted)}.btn-topbar-logout{background:#ffffff26;color:var(--header-text);border:1px solid rgba(255,255,255,.4);padding:.4rem .9rem;font-size:.875rem;border-radius:6px;transition:background .2s,color .2s,border-color .2s}.btn-topbar-logout:hover{background:#ffffff40;color:#fff;border-color:#ffffffb3}.app-sidebar{width:220px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);min-height:0;overflow-x:hidden;overflow-y:auto;box-shadow:2px 0 8px #0000000a}.app-sidebar-nav{display:flex;flex-direction:column;padding:.75rem 0}.app-sidebar-link{padding:.6rem 1.25rem;color:var(--text-secondary);text-decoration:none;font-size:.95rem;border-left:3px solid transparent;transition:background .15s,color .15s}.app-sidebar-link:hover{background:var(--accent-light);color:var(--accent-hover);text-decoration:none}.app-sidebar-link--active{background:var(--accent-light);color:var(--accent-hover);font-weight:600;border-left-color:var(--accent)}.app-main{flex:1;min-width:0;min-height:0;padding:1rem 0;background:var(--bg-page);color:var(--text);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-main--graphics{position:relative;background:var(--bg-page);overflow-x:hidden;overflow-y:auto}.app-main--graphics:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(37,99,235,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.app-footer{flex-shrink:0;width:100%;padding:.75rem 1.25rem;border-top:1px solid var(--border);background:var(--bg-card);text-align:center}.app-footer__text{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.4}.app-footer--login{flex-shrink:0;width:100%;background:#ffffff8c;border-top:1px solid rgba(37,99,235,.12);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:1rem}.container{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;position:relative;z-index:1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.page-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text);font-family:Plus Jakarta Sans,system-ui,sans-serif}.card{background:var(--bg-card);border-radius:8px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000f;padding:1.25rem;margin-bottom:1rem;position:relative;z-index:1}.table-scroll-wrap{overflow:auto;max-height:min(28rem,60vh);margin:0 -.25rem;padding:0 .25rem;border:1px solid var(--border);border-radius:6px;background:#fff}table.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}table.data-table th,table.data-table td{padding:.4rem .6rem;text-align:left;border-bottom:1px solid var(--border)}table.data-table th{font-weight:600;background:#f8fafc;color:var(--text);position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--border)}table.data-table td{color:var(--text)}table.data-table tbody tr:hover td{background:#f8fafc}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:6px;border:none;font-size:.9rem;font-weight:500;transition:background .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:#f1f5f9;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:500;font-size:.9rem;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;max-width:400px;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.card--compact{max-width:28rem;padding:1rem 1.25rem}.card--form-wide{max-width:42rem;padding:1.5rem 1.75rem}.form-section-title{grid-column:1 / -1;font-size:.95rem;font-weight:600;color:var(--text);margin:.5rem 0 .25rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.form-section-title:first-of-type{margin-top:0}.form-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.25rem;align-items:start}.form-edit-grid .form-group{margin-bottom:0}.form-edit-grid .form-group--full{grid-column:1 / -1}.form-edit-grid .form-group input,.form-edit-grid .form-group select{max-width:none}.form-edit-grid .form-group input[readonly],.form-edit-grid .form-group input:disabled{background:var(--bg-page);color:var(--text-muted);cursor:default}.form-edit-actions{grid-column:1 / -1;display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.property-list{margin:0}.property-list__row{display:grid;grid-template-columns:10rem 1fr;gap:.5rem 1rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.property-list__row:last-of-type{border-bottom:none}.property-list__row dt{margin:0;font-weight:500;color:var(--text-muted)}.property-list__row dd{margin:0;color:var(--text)}.error-message{color:#dc2626;font-size:.9rem;margin-top:.5rem}.success-message{color:#16a34a;font-size:.9rem;margin-top:.5rem}.login-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(160deg,#eff6ff,#dbeafe,#f1f5f9)}.login-page>.app-topbar{flex-shrink:0}.login-page-content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.login-graphics{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-graphics-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(37,99,235,.03) 50%,transparent 60%),linear-gradient(75deg,transparent 30%,rgba(37,99,235,.02) 50%,transparent 70%)}.login-graphics-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%)}.login-graphics-hex{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cpath fill='none' stroke='rgba(37,99,235,0.08)' stroke-width='0.5' d='M14 0l14 8.5v17l-14 8.5-14-8.5v-17L14 0z'/%3E%3C/svg%3E");opacity:.9}.login-graphics-blob{position:absolute;border-radius:50%;filter:blur(80px);animation:blob-float 20s ease-in-out infinite}.login-graphics-blob--1{width:400px;height:400px;background:#2563eb14;top:-120px;right:-100px;opacity:1;animation-delay:0s}.login-graphics-blob--2{width:320px;height:320px;background:#3b82f61a;bottom:-80px;left:-60px;opacity:1;animation-delay:-7s}.login-graphics-blob--3{width:200px;height:200px;background:#2563eb0f;top:50%;left:20%;margin-left:-100px;margin-top:-100px;animation-delay:-14s}@keyframes blob-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.login-graphics-line{position:absolute;background:linear-gradient(90deg,transparent,rgba(37,99,235,.12),transparent);height:1px;width:60%}.login-graphics-line--1{top:25%;left:-10%;transform:rotate(-15deg)}.login-graphics-line--2{bottom:30%;right:-10%;transform:rotate(12deg);background:linear-gradient(90deg,transparent,rgba(37,99,235,.08),transparent)}.login-graphics-glow{position:absolute;width:120%;height:80%;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(37,99,235,.06) 0%,transparent 60%)}.login-dialog{position:relative;background:#fff;border-radius:16px;border:1px solid var(--border-accent);box-shadow:0 4px 24px #00000014,0 0 0 1px #0000000a;padding:2.25rem;width:100%;max-width:400px;z-index:1}.login-dialog-title{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;color:var(--text);font-family:Plus Jakarta Sans,system-ui,sans-serif}.login-dialog-subtitle{margin:0 0 1.5rem;font-size:.95rem;color:var(--text-secondary)}.login-dialog .form-group input{max-width:none}.login-submit{width:100%;margin-top:.35rem;padding:.65rem}.login-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:center;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.login-link{font-size:.9rem;color:var(--accent);text-decoration:none}.login-link:hover{text-decoration:underline;color:var(--accent-hover)}
