:root{--ink:#18231d;--deep:#24352c;--lime:#d7ef68;--cream:#f5f3eb;--paper:#fffefa;--muted:#77827b;--line:#dce0d8;--rose:#efa69b;--blue:#aecce8;--shadow:0 20px 50px rgba(24,35,29,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,system-ui,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.mono,.eyebrow,.tag{font-family:"DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.eyebrow,.tag{font-size:10px}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{background:var(--deep);color:var(--cream);padding:26px 18px;display:flex;flex-direction:column}.logo{color:var(--lime);font-size:25px;line-height:.82;letter-spacing:-.08em;font-weight:800;text-decoration:none;padding:0 12px}.logo span{color:var(--cream);font-weight:400}.shop-switch{margin:48px 8px 24px;padding:13px 14px;border:1px solid #526258;border-radius:12px;font-size:12px}.shop-switch small{display:block;color:#aab8ae;margin-top:4px}.nav{display:grid;gap:5px}.nav button{background:transparent;color:#aab8ae;text-align:left;padding:12px 14px;border-radius:10px;font-size:13px}.nav button.active,.nav button:hover{background:#354a3e;color:var(--cream)}.nav button.active:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--lime);vertical-align:middle;margin:-2px 9px 0 0}.sidebar-foot{margin-top:auto;padding:12px;color:#90a097;font-size:11px;line-height:1.5}.main{min-width:0}.topbar{height:76px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:rgba(245,243,235,.9)}.topbar .eyebrow{margin:0;color:var(--muted)}.user{display:flex;gap:12px;align-items:center;font-size:12px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-weight:800}.content{padding:42px;max-width:1440px}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:34px}.page-head h1{font-size:clamp(35px,4vw,59px);letter-spacing:-.08em;line-height:.9;margin:8px 0 0}.page-head p{color:var(--muted);font-size:13px;margin:12px 0 0}.primary{background:var(--ink);color:var(--cream);padding:13px 18px;border-radius:8px;font-weight:700;font-size:13px;white-space:nowrap}.primary:hover{background:#31443a}.secondary{background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 16px;border-radius:8px;font-weight:700;font-size:12px}.secondary:hover{border-color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px}.stat .eyebrow{color:var(--muted)}.stat strong{display:block;font-size:33px;letter-spacing:-.08em;margin-top:18px}.stat em{font-style:normal;color:#6d8662;font-size:11px;margin-left:5px;letter-spacing:0}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel h2{font-size:19px;letter-spacing:-.05em;margin:0}.panel-head a{font-size:11px;color:var(--muted);text-decoration:none}.order-row{display:grid;grid-template-columns:46px 1fr auto;gap:13px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.order-icon{width:46px;height:46px;border-radius:12px;background:var(--lime);display:grid;place-items:center;font-size:22px}.order-name{font-weight:800;font-size:13px}.order-meta{color:var(--muted);font-size:11px;margin-top:4px}.status{font-size:10px;padding:6px 9px;border-radius:30px;background:#edf4e8;color:#55704f;white-space:nowrap}.status.wait{background:#fff0d8;color:#98713d}.qr-preview{background:var(--ink);color:var(--cream);border-radius:12px;padding:22px;display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:center}.qr-preview h3{font-size:23px;line-height:.98;letter-spacing:-.07em;margin:10px 0}.qr-preview p{color:#b8c5bb;font-size:11px;line-height:1.5;margin:0}.qr-box{background:#fff;padding:8px;border-radius:8px}.qr-box img{width:100%;display:block}.tag-list{display:grid;gap:10px}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:14px 0}.tag-id{font-family:"DM Mono",monospace;font-size:12px}.tag-state{color:var(--muted);font-size:11px}.page{display:none}.page.visible{display:block}.empty{padding:35px 10px;text-align:center;color:var(--muted);font-size:13px}.modal-backdrop{position:fixed;inset:0;background:rgba(24,35,29,.45);display:grid;place-items:center;padding:18px;z-index:5}.modal{background:var(--paper);border-radius:16px;padding:28px;max-width:550px;width:100%;box-shadow:0 30px 90px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal h2{margin:0;font-size:25px;letter-spacing:-.07em}.close{background:transparent;color:var(--muted);font-size:24px}.form-grid{display:grid;gap:14px;margin-top:24px}.field{display:grid;gap:6px}.field label{font-size:11px;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;padding:12px;border-radius:8px;outline:none}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--ink)}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.notice{font-size:11px;background:#f0f4e9;color:#5d7056;border-radius:8px;padding:10px;line-height:1.45}.sticker-code{color:var(--muted);font-size:11px;margin-top:5px}.record-page,.recipient-page{min-height:100vh;background:var(--cream);display:grid;place-items:center;padding:28px}.gift-card{width:min(680px,100%);background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.gift-top{background:var(--lime);padding:28px 32px;display:flex;justify-content:space-between;align-items:start}.gift-top h1{font-size:42px;line-height:.88;letter-spacing:-.09em;margin:9px 0 0}.gift-top .logo{color:var(--ink);font-size:20px;padding:0}.gift-body{padding:32px}.gift-body h2{font-size:27px;letter-spacing:-.07em;line-height:1;margin:0 0 12px}.gift-body p{font-size:14px;line-height:1.6;color:var(--muted)}.message-box{background:#f2f4ed;border-radius:12px;padding:20px;margin:22px 0;font-size:18px;line-height:1.45}.message-box:before{content:"“";display:block;color:#a4bc45;font-size:42px;line-height:.5}.care{display:grid;gap:10px;margin:22px 0}.care-item{display:flex;gap:10px;font-size:12px;line-height:1.4}.care-item b{color:#788e33}.cta-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.record-help{font-size:12px;color:var(--muted);margin:16px 0 0}.mode-tabs{display:flex;gap:7px;flex-wrap:wrap}.mode-tab{border:1px solid var(--line);background:transparent;border-radius:30px;padding:9px 12px;font-size:11px}.mode-tab.selected{background:var(--ink);border-color:var(--ink);color:var(--cream)}.file-note{font-size:11px;color:var(--muted);background:#fbf8ed;padding:10px;border-radius:8px}.toast{position:fixed;bottom:22px;right:22px;background:var(--ink);color:var(--cream);padding:13px 16px;border-radius:9px;font-size:12px;z-index:10;box-shadow:var(--shadow)}.analytics{display:grid;grid-template-columns:1fr 1fr;gap:15px}.bar-chart{display:flex;align-items:end;gap:10px;height:170px;padding-top:25px}.bar{flex:1;background:var(--lime);border-radius:6px 6px 0 0;min-height:18px;position:relative}.bar span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted)}.bar em{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:10px;font-style:normal}.feature-list{display:grid;gap:9px}.feature{display:flex;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.4}.feature strong{color:#71852f;font-size:14px}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.catalog-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.catalog-card h3{font-size:17px;letter-spacing:-.05em;margin:17px 0 8px}.catalog-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.catalog-icon{font-size:26px}.mobile-only{display:none}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;padding:16px;display:block}.logo{display:inline-block}.shop-switch,.sidebar-foot{display:none}.nav{display:flex;overflow:auto;margin-top:20px}.nav button{white-space:nowrap}.topbar{padding:0 20px}.content{padding:28px 20px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.catalog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.topbar{height:64px}.topbar .eyebrow{font-size:9px}.user span{display:none}.page-head{display:block}.page-head .primary{margin-top:20px}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:27px}.qr-preview{grid-template-columns:1fr 90px}.catalog-grid{grid-template-columns:1fr}.gift-top{padding:23px}.gift-top h1{font-size:34px}.gift-body{padding:23px}.gift-body h2{font-size:24px}}
.auth-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#f7f8fc}.auth-orbit{background:linear-gradient(145deg,#1a274c,#6683e8);position:relative;overflow:hidden;display:grid;place-items:center;color:#fff}.auth-orbit:before,.auth-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%}.auth-orbit:before{width:560px;height:560px}.auth-orbit:after{width:760px;height:760px}.auth-orbit-dot{width:145px;height:145px;border-radius:50%;background:#6683e8;box-shadow:0 0 80px rgba(204,219,255,.45);position:absolute}.auth-quote{position:relative;z-index:1;font-size:62px;line-height:.92;letter-spacing:-.08em;font-weight:800;text-align:center}.auth-quote i{color:#fff;font-style:normal}.auth-card{max-width:510px;width:100%;justify-self:center;align-self:center;padding:50px 70px}.auth-brand{color:var(--ink);font-size:24px;font-weight:800;letter-spacing:-.08em;text-decoration:none}.auth-brand span{color:#6683e8}.auth-kicker{font:10px var(--mono);color:#8390b0;letter-spacing:.1em;margin:90px 0 20px}.auth-card h1{font-size:47px;line-height:.95;letter-spacing:-.08em;margin:0 0 19px}.auth-card h1 em{color:#6683e8;font-style:normal}.auth-copy{color:var(--muted);font-size:13px;line-height:1.6;max-width:340px;margin-bottom:30px}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;color:var(--ink);font-size:11px;font-weight:800}.auth-form input{border:1px solid var(--line);border-radius:6px;padding:13px;background:#fff;outline:0}.auth-form input:focus{border-color:#6683e8}.auth-form .primary{margin-top:7px}.auth-bottom{margin-top:22px;font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.auth-switch{background:none;color:#6683e8;font-size:11px;font-weight:800;padding:0}.auth-switch.muted{color:#8a94aa;margin-left:8px}.auth-error{color:#be6565;font-size:11px;min-height:15px;margin:9px 0 0}.auth-card .notice{margin-top:18px}.big-number{font-size:64px;font-weight:800;letter-spacing:-.06em;color:var(--ink);margin:24px 0 4px}.muted{color:var(--muted);line-height:1.55}
@media(max-width:760px){.auth-screen{display:block}.auth-orbit{min-height:230px}.auth-quote{font-size:38px}.auth-orbit:before{width:270px;height:270px}.auth-orbit:after{width:380px;height:380px}.auth-card{padding:35px 25px}.auth-kicker{margin-top:55px}}
