@import url('/assets/brand/local-font.css');
:root{--ink:#1e3030;--muted:#7d8a88;--green:#24745e;--deep:#142e28;--mint:#b9eed4;--bg:#f5f7f8;--line:#e7edeb;--white:#fff;--red:#c14b55;--gold:#a57426;--shadow:0 4px 28px #173d3207;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #65b79566;outline-offset:3px}a{color:inherit;text-decoration:none}button svg{flex-shrink:0}svg.icon{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,h4,p{margin:0}h1{font-size:27px;letter-spacing:-1px;font-weight:650}h2{font-size:17px;letter-spacing:-.35px}h3{font-size:15px;font-weight:650}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}.positive{color:var(--green)}.negative{color:var(--red)}.right{text-align:right}.center{text-align:center}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:20px}.grow{flex:1}.nowrap{white-space:nowrap}.diamond{width:18px;height:18px;object-fit:contain;vertical-align:middle;margin-right:3px}.btn{display:inline-flex;gap:8px;justify-content:center;align-items:center;border-radius:8px;border:1px solid var(--line);background:white;padding:10px 15px;min-height:40px;font-weight:600;color:var(--ink);transition:background .15s,transform .15s}.btn:hover:not(:disabled){background:#f4f8f5}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover:not(:disabled){background:#1d624e}.btn.dark{background:var(--deep);color:white;border-color:var(--deep)}.btn.light{background:#eff7f1;border-color:#dfede4;color:var(--green)}.btn.danger{background:#fff1f1;border-color:#f2dddd;color:var(--red)}.btn.small{min-height:32px;padding:6px 11px;font-size:12px}.btn.full{width:100%}.btn.link{border:0;background:transparent;color:var(--green);min-height:auto;padding:4px 0}.icon-btn{border:0;background:transparent;border-radius:8px;padding:8px;display:inline-flex;color:var(--muted);align-items:center;justify-content:center}.icon-btn:hover{background:#eaf0ed;color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:5px 8px;font-size:10px;line-height:1;letter-spacing:.15px;white-space:nowrap;font-weight:650;background:#edf2ef;color:#718579}.badge.green{background:#e6f4ec;color:#277751}.badge.amber{background:#fbf2e2;color:#9b752f}.badge.red{background:#fdecee;color:#b7525d}.badge.violet{background:#f0eafa;color:#8860ba}.badge.blue{background:#eaf2fa;color:#5585a9}.dot{height:6px;width:6px;border-radius:50%;display:inline-block;background:currentColor}.avatar{height:38px;width:38px;display:flex;align-items:center;justify-content:center;background:#eaf0e4;color:#4d6a49;font-weight:700;border-radius:50%;flex-shrink:0;font-size:13px}.avatar.large{height:54px;width:54px;font-size:20px;background:#e5f1eb}.avatar-img{height:40px;width:40px;border-radius:50%;object-fit:cover}.field{display:flex;flex-direction:column;gap:8px}.field>label{font-size:12px;font-weight:600;color:#526660}.input,select,textarea{border:1px solid #dce5e0;background:#fff;border-radius:8px;min-height:43px;padding:11px 13px;outline:none;width:100%;color:var(--ink)}.input:focus,select:focus,textarea:focus{border-color:#5a9c80;box-shadow:0 0 0 3px #75c59c12}.input::placeholder,textarea::placeholder{color:#a2aba7}textarea{min-height:80px;resize:vertical}.check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6}.check input{margin-top:4px;accent-color:var(--green);width:15px;height:15px;flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.help{font-size:11px;line-height:1.6;color:var(--muted)}.label{font-size:12px;color:var(--muted)}.error{color:var(--red);background:#fff1f1;border:1px solid #f2dfdf;border-radius:8px;padding:12px 15px;font-size:12px;line-height:1.6}.notice{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;border:1px solid #dfebe2;background:#f0f7f1;border-radius:10px;font-size:12px;line-height:1.7;color:#58745d}.notice.amber{background:#fffaf0;border-color:#f3e9cf;color:#927b48}.notice .icon{flex-shrink:0;margin-top:2px;width:18px;height:18px}.section-divider{height:1px;background:var(--line);margin:2px 0}.initial-loading{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:var(--muted)}.spinner{width:23px;height:23px;border:2px solid #cfe2d6;border-top-color:var(--green);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}.btn .spinner{height:15px;width:15px}@keyframes spin{to{transform:rotate(360deg)}}.toasts{position:fixed;bottom:25px;right:25px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{box-shadow:0 5px 25px #0e33282b;display:flex;gap:10px;align-items:center;padding:15px 20px;background:#163b2f;color:white;border-radius:10px;max-width:390px;font-size:13px;animation:enter .2s}.toast.error{background:#9f414b;color:white;border:0}.toast .icon{height:18px;width:18px}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* login */
.login-page{min-height:100vh;display:grid;grid-template-columns:1.03fr 1fr;background:#fff}.login-visual{background:#143b2d;color:white;padding:54px 64px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:760px}.login-visual:before{content:'';position:absolute;width:880px;height:880px;border:1px solid #a2dfbb1e;border-radius:50%;left:-180px;top:210px;box-shadow:0 0 0 75px #a2dfbb08,0 0 0 150px #a2dfbb06,0 0 0 225px #a2dfbb04;pointer-events:none}.wordmark{font-size:28px;font-weight:700;letter-spacing:-1.6px;display:flex;gap:11px;align-items:center}.brand-d{background:var(--mint);width:32px;height:35px;border-radius:9px;color:var(--deep);font-size:27px;display:flex;align-items:center;justify-content:center;letter-spacing:0;font-weight:800}.login-visual .eyebrow{color:#a7d6b3;margin-bottom:22px}.login-copy{position:relative;z-index:1;padding:72px 0 35px}.login-copy h1{font-size:49px;letter-spacing:-2.7px;line-height:1.15;max-width:420px;font-weight:550}.login-copy h1 em{font-style:normal;color:#afe4b9}.login-copy>p{margin-top:22px;color:#b6ccbe;max-width:355px;line-height:1.9;font-size:13px}.login-preview{position:relative;width:345px;max-width:100%;margin:38px 0 15px;border-radius:15px;border:1px solid #ffffff26;background:linear-gradient(135deg,#ffffff18,#ffffff06);backdrop-filter:blur(2px);padding:22px;box-shadow:0 12px 45px #081e3228;transform:rotate(-3deg)}.login-preview .preview-amount{font-size:32px;font-weight:600;letter-spacing:-1px;margin:11px 0}.login-preview .diamond{height:28px;width:28px}.preview-gifts{display:flex;margin-top:18px;gap:8px}.preview-gifts div{height:44px;width:44px;border-radius:9px;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.preview-gifts img{width:35px;height:35px;object-fit:contain}.preview-label{color:#bfd3c5;font-size:11px}.login-foot{position:relative;display:flex;gap:8px;align-items:center;color:#8cba9c;font-size:11px}.login-form-side{display:flex;align-items:center;justify-content:center;padding:55px 40px;position:relative}.login-local{position:absolute;right:42px;top:36px}.login-form-wrap{width:360px}.login-form-wrap .eyebrow{color:#82978c;letter-spacing:2px;font-size:10px;margin-bottom:14px}.login-form-wrap h2{font-size:28px;letter-spacing:-1px;font-weight:650}.login-form-wrap>p{line-height:1.8;color:var(--muted);font-size:12px;margin:10px 0 31px}.login-form{display:flex;flex-direction:column;gap:21px}.password-wrap{position:relative}.password-wrap .input{padding-right:42px}.password-wrap .icon-btn{position:absolute;right:5px;top:3px}.login-form .btn.primary{min-height:46px;margin-top:2px}.demo-options{border:1px solid var(--line);background:#f9fbf9;border-radius:10px;padding:16px;margin-top:23px}.demo-options .row{gap:7px;margin-top:12px}.demo-role{flex:1;background:#fff;border:1px solid var(--line);padding:9px 5px;border-radius:6px;color:#7a8b80;font-size:11px}.demo-role.active{border-color:#a7c8b3;background:#eef7f0;color:#347049;font-weight:600}.login-bottom{margin-top:22px;text-align:center;font-size:11px;color:var(--muted)}.login-bottom a{color:var(--green);font-weight:600}.login-error{margin-bottom:20px}
/* shell */
.shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:238px;background:var(--deep);padding:32px 20px 20px;display:flex;flex-direction:column;z-index:40}.sidebar .wordmark{color:white;margin-left:13px;font-size:26px}.sidebar .brand-d{width:29px;height:31px;font-size:24px}.side-caption{margin:10px 13px 36px;color:#7d9d8d;font-size:10px;letter-spacing:1.7px;text-transform:uppercase}.nav-group-label{color:#728f80;font-size:9px;letter-spacing:1.6px;font-weight:600;margin:20px 15px 9px}.nav{display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;color:#9fb3a9;border-radius:7px;padding:11px 13px;min-height:43px;font-size:12px;font-weight:500}.nav-link .icon{height:18px;width:18px;opacity:.85}.nav-link:hover{background:#ffffff08;color:#e1efe7}.nav-link.active{background:#c6efcf;color:#183c29}.nav-link.active .icon{opacity:1}.nav-count{margin-left:auto;color:#b1c4b9;background:#ffffff10;padding:3px 6px;border-radius:4px;font-size:10px}.nav-link.active .nav-count{background:#a2c8ab;color:#254d33}.side-bottom{margin-top:auto;padding-top:22px}.side-help{margin:18px 6px 0;padding:17px 12px;border:1px solid #29483c;border-radius:9px;background:#19392d}.side-help p{font-size:11px;color:#a4bdac;line-height:1.7;margin:8px 0}.side-version{display:flex;justify-content:space-between;color:#607f70;font-size:9px;margin:18px 10px 0;letter-spacing:.4px}.workspace{margin-left:238px;min-height:100vh}.topbar{height:82px;background:#ffffffed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}.breadcrumb{font-size:11px;display:flex;align-items:center;gap:10px;color:#9ba5a0}.breadcrumb strong{font-weight:500;color:#5e7569}.profile{display:flex;gap:11px;align-items:center;padding-left:20px;border-left:1px solid var(--line)}.profile-name{font-size:11px;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-role{font-size:9px;color:var(--muted);margin-top:4px}.topbar-date{font-size:10px;color:var(--muted)}.mobile-menu{display:none}.content{max-width:1470px;margin:auto;padding:30px 34px 38px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:27px}.page-heading p{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.7}.page-heading .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-kicker{color:var(--green);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:600;margin-bottom:9px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.card-body{padding:23px}.card-head{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:14px}.card-subtitle{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.7}.card-foot{padding:15px 23px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.stat{padding:21px 22px;position:relative;min-height:145px}.stat-icon{height:32px;width:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e8eee9;border-radius:8px;color:#6a8c75}.stat-icon .icon{width:16px;height:16px}.stat .stat-label{font-size:10px;color:#8b9691;margin-top:17px}.stat-value{font-size:27px;font-weight:650;letter-spacing:-1px;line-height:1.3;white-space:nowrap;margin-top:5px}.stat-bottom{font-size:9px;margin-top:13px;color:#96a39a}.stat.green-card{background:var(--deep);color:#fff;border-color:var(--deep)}.stat.green-card .stat-label{color:#a1bdac}.stat.green-card .stat-bottom{color:#88ae98}.stat.green-card .stat-icon{color:#bdeac8;border-color:#3c5949}.stat.green-card .stat-value{color:#e1f5dd}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat .mini-dot{font-size:9px;border-radius:4px;padding:4px 6px;color:#6d947b;background:#f1f7f1}.dashboard-mid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:22px;margin-bottom:22px}.chart{height:190px;padding:12px 24px 0;display:flex;align-items:flex-end;gap:16px;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#f0f3f1 44px,#f0f3f1 45px);margin:0 23px 4px}.chart-column{height:100%;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative}.chart-bar{width:62%;max-width:42px;background:#c7e4cd;border-radius:5px 5px 0 0;min-height:3px;position:relative}.chart-column:last-child .chart-bar{background:var(--green)}.chart-value{font-size:8px;color:#7b9484;margin-bottom:5px;white-space:nowrap}.chart-days{display:flex;margin:10px 47px 23px;gap:16px}.chart-days span{flex:1;text-align:center;font-size:9px;color:#8b9b90}.chart-summary{margin:0 23px;padding:12px 0 3px;color:#7c9284;font-size:10px;display:flex;gap:20px}.legend{display:inline-flex;align-items:center;gap:6px}.legend i{width:6px;height:6px;border-radius:2px;background:#bdddc2}.quick-card{padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:#f0f5ec;border-color:#e3ebdc;position:relative}.quick-card h2{font-size:20px;line-height:1.5;letter-spacing:-.6px;max-width:210px}.quick-card p{font-size:10px;line-height:1.9;color:#839078;max-width:240px;margin:12px 0 20px}.quick-graphic{position:absolute;right:20px;top:18px;width:56px;height:56px;border-radius:16px;background:#dcead1;display:flex;align-items:center;justify-content:center;transform:rotate(12deg);color:#6b8a54}.quick-graphic .icon{height:28px;width:28px}.quick-lines{display:flex;gap:6px;margin:15px 0}.quick-lines span{height:3px;flex:1;background:#dfe8d9;border-radius:2px}.quick-lines span:first-child{background:#89aa78}.panel-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.85fr);gap:23px;align-items:start}.panel-grid .sticky-panel{position:sticky;top:105px}.balance-card{background:var(--deep);color:white;border:0;padding:25px;border-radius:12px;position:relative;overflow:hidden}.balance-card:before{content:'';width:190px;height:190px;border:1px solid #698e6555;border-radius:50%;position:absolute;right:-50px;top:-65px;box-shadow:0 0 0 25px #94bb7c0a,0 0 0 50px #94bb7c08}.balance-card .label{color:#a6bfab;font-size:10px}.balance-card .amount{font-size:35px;letter-spacing:-1px;font-weight:600;margin:14px 0 22px}.balance-card .mini{border-top:1px solid #ffffff16;padding-top:14px;display:flex;justify-content:space-between;color:#86a48e;font-size:10px}.balance-card .diamond{width:25px;height:25px}.summary-lines{display:flex;flex-direction:column;gap:16px}.summary-lines .line{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#7c8b81}.summary-lines .line strong{font-weight:600;color:var(--ink)}.summary-total{border-top:1px dashed #dbe4dd;padding-top:18px;margin-top:5px}.summary-total strong{font-size:23px;font-weight:650;letter-spacing:-.6px}.step-label{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:12px;font-weight:650}.step-number{background:#edf4ed;color:#61865f;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;font-size:10px}.recipient-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#f7faf7;border:1px solid #e3ece3;border-radius:9px}.recipient-card h3{font-size:13px}.recipient-card p{font-size:10px;color:#90a18f;margin-top:6px}.lookup-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.amount-input{font-size:26px;font-weight:600;letter-spacing:-.5px;min-height:65px;background:#fbfcfb;padding-left:18px}.amount-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.amount-presets button{background:white;border:1px solid #e1e8e1;border-radius:6px;padding:7px 12px;color:#83937f;font-size:11px}.amount-presets button.active,.amount-presets button:hover{background:#eef6ec;border-color:#a4c1a0;color:#386c3b}.form-section{padding:24px;border-bottom:1px solid var(--line)}.form-section:last-child{border-bottom:0}.receipt-success{padding:35px;text-align:center}.success-icon{width:62px;height:62px;border-radius:50%;background:#e8f4e7;color:#4e8750;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.success-icon svg{width:29px;height:29px}.receipt-success h2{font-size:23px;margin-bottom:9px}.receipt-success>p{font-size:11px;color:var(--muted);line-height:1.8}.receipt-detail{margin:25px 0;background:#f7f9f7;padding:22px;border-radius:9px;text-align:left}.receipt-value{font-size:32px;letter-spacing:-1px;font-weight:650;margin:20px 0}.pay-channels{display:flex;gap:8px;flex-wrap:wrap}.channel{border:1px solid #e1e8e1;border-radius:8px;background:white;padding:10px 14px;font-size:11px;font-weight:550;color:#7e8b81}.channel.active{border-color:#7da779;color:#416b3e;background:#f0f7eb;box-shadow:0 0 0 1px #7da779}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.package{padding:18px 12px;border:1px solid #e6ece4;border-radius:9px;background:white;text-align:left;position:relative}.package.selected{border-color:#7da779;background:#f4f9ef;box-shadow:0 0 0 1px #7da779}.package-amount{font-size:15px;font-weight:650;letter-spacing:-.3px;display:flex;align-items:center;gap:3px}.package-price{font-size:10px;color:#93a08e;margin-top:9px}.package.selected:after{content:'✓';position:absolute;right:10px;top:8px;color:#4d7b40;font-size:11px}.public-header{height:83px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 max(24px,calc((100vw - 1120px)/2))}.public-header .wordmark{color:var(--deep)}.public-main{max-width:1040px;margin:42px auto 70px;padding:0 24px}.public-heading{text-align:center;margin-bottom:34px}.public-heading h1{font-size:32px}.public-heading p{color:var(--muted);font-size:12px;line-height:1.8;margin:12px 0}.public-foot{text-align:center;margin-top:30px;font-size:10px;color:#9da79c}
/* tables and catalog */
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#91a092;background:#fbfcfb;font-weight:550;padding:13px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:16px 22px;border-bottom:1px solid #f0f3f0;font-size:11px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfb}.table-user{display:flex;gap:10px;align-items:center}.table-user .avatar{height:31px;width:31px;font-size:10px}.table-user strong{display:block;font-size:11px;font-weight:600}.table-user small{display:block;font-size:9px;color:#93a091;margin-top:4px}.table-ref{font-size:9px;color:#98a795}.table-actions{display:flex;gap:6px;justify-content:flex-end}.cell-note{max-width:220px;overflow:hidden;text-overflow:ellipsis}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.search-field{position:relative;min-width:230px}.search-field .icon{position:absolute;left:12px;top:11px;width:17px;height:17px;color:#8c9b90}.search-field input{padding-left:38px;min-height:39px;font-size:11px}.toolbar select,.toolbar .input{min-height:39px;font-size:11px}.toolbar-date{display:flex;align-items:center;gap:8px}.toolbar-date input{width:142px}.tabs{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.tab{border:1px solid transparent;background:transparent;color:#8a988b;padding:9px 13px;font-size:11px;border-radius:7px;cursor:pointer}.tab.active{background:white;border-color:#dfe7dc;color:#47743e;box-shadow:0 1px 4px #173d3205}.tab .tab-n{font-size:9px;background:#eef2eb;padding:2px 5px;margin-left:5px;border-radius:3px;color:#8a9d83}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:#91a18c;padding:17px 22px;border-top:1px solid var(--line)}.empty{padding:54px 25px;text-align:center;color:#97a58e;line-height:1.8}.empty .icon{width:32px;height:32px;margin-bottom:13px;stroke-width:1.3}.empty h3{font-size:13px;color:#61785a;margin-bottom:7px}.empty p{font-size:11px}.catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.gift-card{background:white;border:1px solid var(--line);border-radius:11px;position:relative;overflow:hidden;transition:box-shadow .15s,transform .15s}.gift-card:hover{box-shadow:0 7px 22px #2a573d0a;transform:translateY(-2px)}.gift-art{height:130px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 50% 80%,#f7f9f4,white 72%)}.gift-art>img{width:91px;height:91px;object-fit:contain}.gift-art .gift-tag{position:absolute;left:10px;top:10px;max-width:48px;max-height:21px;object-fit:contain;width:auto;height:auto}.gift-index{position:absolute;right:12px;top:13px;color:#acb6a5;font-size:9px}.gift-info{padding:12px 15px 16px;border-top:1px solid #f4f6f0}.gift-info h3{font-size:11px;font-weight:550;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.gift-price{display:flex;gap:3px;align-items:center;font-size:13px;font-weight:650;margin-top:10px}.gift-info .gift-source{font-size:8px;color:#9ca895;margin-top:8px}.gift-edit{position:absolute;right:8px;bottom:12px;opacity:0}.gift-card:hover .gift-edit,.gift-card:focus-within .gift-edit{opacity:1}.gift-card.inactive{opacity:.55}.vip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vip-card{border-top:3px solid #afc999;padding:26px 24px 22px;position:relative}.vip-card.vvip{border-top-color:#8cbeb1}.vip-card.svip{border-top-color:#cab481}.vip-mark{height:44px;width:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f0f4e6;color:#91a76b;margin-bottom:18px}.vip-mark .icon{width:24px;height:24px}.vvip .vip-mark{background:#eaf4ef;color:#619b82}.svip .vip-mark{background:#faf3e4;color:#b49958}.vip-card h2{font-size:22px;letter-spacing:-.7px}.vip-card .vip-price{font-size:25px;letter-spacing:-.8px;font-weight:600;margin-top:24px}.vip-card .vip-price.draft{font-size:16px;color:#9ba58d;letter-spacing:-.3px}.vip-card ul{list-style:none;padding:0;margin:27px 0 25px;display:flex;flex-direction:column;gap:15px}.vip-card li{font-size:11px;color:#7e9075;display:flex;align-items:center;gap:8px}.vip-card li svg{width:14px;height:14px;color:#6b9963}.vip-meta{font-size:10px;color:#a0ab95;margin:9px 0}.vip-card .badge{position:absolute;right:21px;top:25px}.member-summary{display:flex;gap:18px;align-items:center;padding:23px;background:#eef5e8;border:1px solid #dce8d3;border-radius:11px;margin-bottom:24px}.member-summary .vip-mark{margin:0;flex-shrink:0}.member-summary h3{font-size:16px}.member-summary p{font-size:11px;color:#7c9170;margin-top:8px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr);gap:22px}.setting-line{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 0}.setting-line h3{font-size:12px}.setting-line p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:5px}.switch{width:35px;height:20px;accent-color:var(--green)}.zoo-image{width:36px;height:36px;object-fit:contain}.zoo-outcome{display:flex;align-items:center;gap:12px}.zoo-counters{display:flex;gap:11px;overflow:auto;padding-bottom:3px;margin-bottom:21px}.zoo-counter{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid var(--line);background:white;border-radius:8px;flex-shrink:0}.zoo-counter img{width:31px;height:31px;object-fit:contain}.zoo-counter strong{display:block;font-size:12px}.zoo-counter small{font-size:9px;color:#96a28d}.footer-note{display:flex;justify-content:space-between;margin-top:26px;font-size:9px;color:#a4afa0;line-height:1.8;gap:12px}.audit-detail{font-size:10px;max-width:330px;white-space:normal;line-height:1.8;color:#8a9882}.skeleton{height:150px;border-radius:12px;background:linear-gradient(100deg,#edf1eb 20%,#f8faf5 40%,#edf1eb 60%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}
/* dialogs */
.modal-overlay{position:fixed;inset:0;background:#0b1b1759;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;animation:enter .15s}.modal{background:#fff;border-radius:15px;box-shadow:0 20px 80px #102d2a30;width:490px;max-width:100%;max-height:90vh;overflow:auto}.modal.wide{width:620px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:23px 25px;border-bottom:1px solid var(--line);gap:15px}.modal-head h2{font-size:19px}.modal-head p{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.7}.modal-body{padding:25px;display:flex;flex-direction:column;gap:19px}.modal-foot{padding:18px 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:10px;background:#fcfdfb;border-radius:0 0 15px 15px}.modal .modal-error{margin:18px 25px 0}.modal .hero-number{text-align:center;padding:6px 0 15px;font-size:33px;letter-spacing:-1px;font-weight:650}.modal-note{font-size:10px;color:#94a18b;line-height:1.8}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-grid .label{font-size:10px;margin-bottom:7px}.detail-grid strong{font-size:12px;font-weight:600}.status-timeline{display:flex;gap:12px;align-items:flex-start}.status-timeline .timeline-dot{width:10px;height:10px;background:#93b982;border-radius:50%;margin-top:3px;flex-shrink:0}.status-timeline p{font-size:11px;color:#829578;line-height:1.8}.mobile-overlay{display:none}
@media(min-width:1500px){.content{padding-top:38px}.catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1200px){.sidebar{width:215px;padding-left:14px;padding-right:14px}.workspace{margin-left:215px}.content{padding:26px 25px}.topbar{padding:0 25px}.stats-grid{gap:12px}.stat{padding:18px;min-height:140px}.stat-value{font-size:24px}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.login-visual{padding:40px}.login-copy h1{font-size:42px}.topbar-date{display:none}.vip-card{padding:21px 19px}.dashboard-mid{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr)}}
@media(max-width:960px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-mid{grid-template-columns:1fr}.quick-card{min-height:195px}.quick-card h2{max-width:350px}.quick-card p{max-width:340px}.quick-graphic{right:35px;top:35px;width:75px;height:75px}.quick-card .btn{align-self:flex-start}.quick-lines{max-width:320px}.panel-grid{grid-template-columns:1fr}.panel-grid .sticky-panel{position:static}.vip-grid{grid-template-columns:1fr}.vip-card{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.vip-card .vip-mark{grid-column:1}.vip-card h2,.vip-card .vip-price,.vip-card .vip-meta{grid-column:1}.vip-card ul{grid-column:2;grid-row:1/6;margin-top:20px}.vip-card>.btn{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr 1fr}.login-visual{padding:35px}.login-copy h1{font-size:36px}.login-form-side{padding:35px 26px}.login-preview{width:100%;padding:18px}.login-preview .preview-amount{font-size:28px}.login-local{right:25px;top:25px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:238px;transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.mobile-menu{display:inline-flex}.mobile-overlay.open{display:block;position:fixed;inset:0;background:#09231c60;z-index:35}.topbar{height:66px;padding:0 18px;gap:10px}.breadcrumb{display:none}.profile{padding-left:10px;gap:8px}.profile .avatar{width:30px;height:30px;font-size:10px}.profile-role{font-size:8px}.profile-name{font-size:10px;max-width:110px}.topbar>.row{gap:8px}.content{padding:23px 18px}.page-heading{gap:13px;margin-bottom:22px;flex-wrap:wrap}h1{font-size:24px}.page-heading .actions{width:100%;justify-content:flex-start}.page-kicker{font-size:8px}.stat{min-height:135px;padding:16px}.stat .stat-label{font-size:9px;margin-top:13px}.stat-value{font-size:23px}.stat-bottom{font-size:8px}.card-head{padding:19px}.card-body{padding:19px}th,td{padding-left:18px;padding-right:18px}.chart{height:165px;margin:0 15px 4px;padding:10px 12px 0;gap:12px}.chart-days{margin-left:27px;margin-right:27px;gap:12px}.chart-value{font-size:7px}.toolbar{align-items:stretch;gap:12px}.search-field{min-width:0;flex:1}.toolbar-date{width:100%}.toolbar-date input{width:0;flex:1}.tabs{gap:2px;max-width:100%;overflow:auto}.tab{padding:8px 10px;font-size:10px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gift-art{height:105px}.gift-art>img{width:75px;height:75px}.gift-info{padding:10px}.gift-info h3{font-size:10px}.gift-price{font-size:12px}.gift-edit{opacity:1;right:1px;bottom:4px}.gift-source{max-width:80px}.form-section{padding:20px}.package-grid{gap:9px}.package{padding:15px 10px}.package-amount{font-size:13px}.package-price{font-size:9px}.package .diamond{width:14px;height:14px}.login-page{display:block;min-height:100vh}.login-visual{display:none}.login-form-side{min-height:100vh;padding:75px 25px 35px;align-items:center}.login-form-wrap{max-width:360px;width:100%}.login-local{right:25px;top:25px}.login-form-wrap:before{content:'Dream';display:block;font-size:28px;letter-spacing:-1px;color:var(--green);font-weight:700;margin-bottom:50px}.login-form-wrap h2{font-size:27px}.public-header{height:69px;padding:0 20px}.public-header .wordmark{font-size:23px}.public-header .brand-d{height:29px;width:27px;font-size:23px}.public-main{margin-top:28px;padding:0 16px}.public-heading h1{font-size:27px}.public-heading p{font-size:11px}.modal-overlay{padding:16px}.modal{max-height:92vh}.modal-head{padding:21px}.modal-body{padding:21px}.modal-foot{padding:16px 21px;flex-wrap:wrap}.modal-foot .btn{flex:1}.modal .modal-error{margin-left:21px;margin-right:21px}.form-grid{grid-template-columns:1fr}.footer-note{font-size:8px}.toasts{left:16px;right:16px;bottom:16px}.toast{max-width:none;font-size:11px}.settings-grid .form-grid{grid-template-columns:1fr 1fr}.zoo-counters{gap:8px}.zoo-counter{padding:9px 12px}.zoo-counter img{width:26px;height:26px}.lookup-grid{grid-template-columns:1fr auto}.lookup-grid .btn{padding:11px}.receipt-success{padding:27px}.member-summary{align-items:flex-start;padding:19px}.detail-grid{gap:18px}.balance-card{padding:23px}}
@media(max-width:400px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:10px}.stat-value{font-size:21px}.profile-name{max-width:90px}.vip-card{display:block}.vip-card ul{margin:20px 0}.settings-grid .form-grid{grid-template-columns:1fr}.topbar .badge{font-size:8px}.topbar{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sidebar-nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#355548 transparent;padding-bottom:8px}.sidebar-nav .nav-group-label:first-child{margin-top:0}.side-bottom{flex-shrink:0;padding-top:5px}.modal .summary-lines .line strong{max-width:65%;text-align:right;overflow-wrap:anywhere}.modal .summary-lines .line .mono{font-size:10px}.login-form-wrap .icon{width:16px;height:16px}.login-bottom .icon{width:12px;height:12px}.public-main .sticky-panel{position:sticky;top:24px}@media(max-height:850px){.side-help{display:none}.side-caption{margin-bottom:25px}.sidebar{padding-top:26px}}@media(max-width:960px){.public-main .sticky-panel{position:static}}@media(max-width:760px){.sidebar-nav{overflow:auto}.topbar .row{min-width:0}.stat-value{overflow-wrap:anywhere}.panel-grid{min-width:0}.card{min-width:0}.toolbar-date{min-width:0}.card-head .row{flex-wrap:wrap}.page-heading .actions>.btn{font-size:11px}}
