:root{--green-50:#f4f8f5;--green-100:#e9f2ec;--green-200:#d4e6da;--green-300:#a9cbb1;--green-400:#8fbf96;--green-500:#5b8c62;--green-600:#4a7a52;--green-700:#3d6b45;--green-800:#2c4d33;--green-900:#203a26;--sun-100:#faf0da;--sun-300:#eecb8a;--sun-500:#e0a83d;--sun-700:#b07f24;--clay-100:#f6e7de;--clay-300:#dda286;--clay-500:#c06b4a;--clay-700:#96513a;--coral-100:#fdf1e6;--coral-300:#f3b795;--coral-500:#e8825a;--coral-700:#d0623a;--sea-100:#e3f0f4;--sea-500:#3f8ba0;--sea-700:#2b6d80;--danger-100:#f9e5e0;--danger-500:#cd4a35;--danger-700:#a33726;--paper:#fbfaf5;--cream:#f7f4ec;--line:#e3e0d5;--line-strong:#c9d3c9;--stone-300:#b8b5a8;--stone-500:#8a8878;--stone-600:#6b6a5c;--bark:#4c4b42;--ink:#23241f;--bg:var(--paper);--surface:#fff;--surface-alt:var(--cream);--text:var(--ink);--text-sub:var(--bark);--text-muted:var(--stone-600);--border:#e3e0d5;--border-strong:var(--line-strong);--primary:#4a7a52;--primary-hover:var(--green-700);--primary-text:#fff;--ring:#5b8c62;--success-bg:var(--green-100);--success-text:var(--green-700);--warning-bg:var(--sun-100);--warning-text:var(--sun-700);--danger-bg:var(--danger-100);--danger-text:var(--danger-700);--info-bg:var(--sea-100);--info-text:var(--sea-700);--accent-campus:#3d6b45;--accent-table:#7fb488;--accent-compass:#c06b4a;--accent-bench:#8f7a55;--accent-bricktale:#e8825a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:999px;--shadow-sm:0 1px 2px #23241f0d;--shadow-md:0 4px 14px #2c4d3314;--font-sans:"Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;--font-mono:ui-monospace, "SF Mono", Consolas, monospace;--text-display:38px;--text-h1:30px;--text-h2:24px;--text-h3:18px;--text-body:15px;--text-caption:13px;--text-label:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--background:#fbfaf5;--foreground:#23241f;--card:#fff;--card-foreground:#23241f;--popover:#fff;--popover-foreground:#23241f;--primary-foreground:#fff;--secondary:#f7f4ec;--secondary-foreground:#2c4d33;--muted:#f4f8f5;--muted-foreground:#6b6a5c;--accent:#e9f2ec;--accent-foreground:#2c4d33;--destructive:#cd4a35;--destructive-foreground:#fff;--input:#c9d3c9;--radius:10px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-body);-webkit-font-smoothing:antialiased;line-height:1.7}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text-sub);font-family:var(--font-sans), "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;word-break:keep-all;overflow-wrap:anywhere;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}#root>main,#root>.admin-shell{flex:1}h1,h2,h3{color:var(--text);letter-spacing:-.01em}h1{font-size:var(--text-h2);margin:0 0 var(--space-5);font-weight:700;line-height:1.35}h2{font-size:var(--text-h3);margin:var(--space-8) 0 var(--space-3);font-weight:700;line-height:1.45}h3{margin:var(--space-5) 0 var(--space-2);font-size:16px}p{margin:0 0 var(--space-3)}a{color:var(--green-700);text-underline-offset:3px}a:hover{color:var(--green-800)}.mut,.price s{color:var(--text-muted)}.err{color:var(--danger-text)}.mono{font-family:var(--font-mono);letter-spacing:.05em}.pre{white-space:pre-wrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--ring);outline-offset:2px}main{width:100%;max-width:560px;padding:var(--space-8) var(--space-4) var(--space-12);margin:0 auto}main.wide{max-width:1120px}.stack{gap:var(--space-2);flex-direction:column;display:flex}.row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.grow{flex:1}.contents{display:contents}.grid2,.grid-2{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.box{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface);box-shadow:var(--shadow-sm)}.box>h2:first-child,.box>h3:first-child,.box>:first-child>h2:first-child{margin-top:0}fieldset{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--surface);margin:0}legend{color:var(--text);padding:0 var(--space-2);font-weight:700}main:not(.wide):not(.admin-main)>form.stack{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);gap:var(--space-3)}main:not(.wide):not(.admin-main)>form.stack+*{margin-top:var(--space-4)}label{color:var(--text);font-size:14px;font-weight:600}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s}input,select{min-height:48px;padding:0 var(--space-3)}textarea{padding:var(--space-2) var(--space-3)}input:hover,select:hover,textarea:hover{border-color:var(--green-300)}input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--green-100);outline:none}input[type=file]{min-height:48px;padding:var(--space-2);background:var(--cream);border-style:dashed}input[type=file]::file-selector-button{font:inherit;margin-right:var(--space-3);padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-weight:600}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:auto;accent-color:var(--primary);padding:0}.check{gap:var(--space-2);align-items:center;font-weight:400;display:flex}button,a.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);font:inherit;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover,a.button:hover{border-color:var(--green-400);background:var(--green-50);color:var(--text)}button.primary,a.button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}button.primary:hover,a.button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--primary-text)}button.primary{margin-top:var(--space-2)}button:disabled,button:disabled:hover{opacity:.55;cursor:default;background:var(--surface);border-color:var(--border-strong);color:var(--text)}button.primary:disabled,button.primary:disabled:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}button.danger{border-color:var(--danger-500);color:var(--danger-text)}button.danger:hover{background:var(--danger-bg)}button.link{min-height:auto;color:var(--text-sub);background:0 0;border:0;padding:0;font-weight:500;text-decoration:none}button.link:hover{color:var(--green-700);background:0 0}.problem{border:1px solid var(--danger-100);border-left:4px solid var(--danger-500);background:var(--danger-bg);color:var(--text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.problem p{margin:var(--space-1) 0 0}.problem small{margin-top:var(--space-1);color:var(--text-muted);display:block}.danger-box{border-color:var(--danger-500)}.band{border-left-width:8px}.chip{padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--muted);color:var(--text-muted);font-size:var(--text-caption);margin-left:var(--space-1);align-items:center;font-weight:600;display:inline-flex}.chip.warn{background:var(--danger-500);color:var(--primary-text)}.badge{min-width:20px;height:20px;margin-left:var(--space-1);border-radius:var(--radius-full);background:var(--sun-500);color:var(--ink);justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}header.top{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:0}header.top nav{max-width:1120px;padding:0 var(--space-4);gap:var(--space-5);flex-wrap:wrap;align-items:center;min-height:64px;margin:0 auto;display:flex}header.top nav a{color:var(--text-sub);font-size:15px;font-weight:500;text-decoration:none}header.top nav a:hover{color:var(--green-700)}header.top .brand{align-items:center;gap:var(--space-2);color:var(--green-800);letter-spacing:-.01em;margin-right:auto;font-size:18px;font-weight:800;display:inline-flex}header.top .brand:hover{color:var(--green-800)}header.top .mark{width:30px;height:30px}header.top .cart-link{align-items:center;display:inline-flex}footer.foot{border-top:1px solid var(--border);background:var(--cream);margin-top:auto;font-size:14px}.foot-in{max-width:1120px;padding:var(--space-8) var(--space-4) var(--space-10);margin:0 auto}.foot-brand{color:var(--green-800);margin-bottom:var(--space-3);font-weight:700}.foot-brand .mut{font-weight:400}footer.foot nav{gap:var(--space-4);margin-bottom:var(--space-3)}footer.foot nav a{color:var(--text-sub);text-decoration:none}footer.foot nav a:hover{color:var(--green-700);text-decoration:underline}footer.foot .mut{margin:0;font-size:13px}.hero-band{margin:0 0 var(--space-10);padding:var(--space-10) var(--space-8);border-radius:var(--radius-xl);background:linear-gradient(120deg, var(--green-800), var(--green-600));color:var(--primary-text);position:relative;overflow:hidden}.hero-band:after{content:"";background:var(--sun-500);opacity:.9;border-radius:50%;width:220px;height:220px;position:absolute;top:-40px;right:-40px}.hero-band>*{z-index:1;max-width:560px;position:relative}.hero-band .eyebrow{font-size:var(--text-label);letter-spacing:.08em;color:var(--sun-300);margin-bottom:var(--space-2);font-weight:700}.hero-band .hero-title{font-size:clamp(26px, 4vw, var(--text-display));margin:0 0 var(--space-3);color:var(--primary-text);font-weight:800;line-height:1.25}.hero-band .hero-sub{color:var(--green-100);margin:0}.chips{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.chips button{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-full);font-weight:500}.chips button[aria-pressed=true]{background:var(--green-800);border-color:var(--green-800);color:var(--primary-text)}.toolbar{margin-bottom:var(--space-6)}.toolbar input[type=search]{flex:1;min-width:200px;max-width:360px}.grid{margin:0 0 var(--space-6);gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .15s,box-shadow .15s,border-color .15s;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--green-200);transform:translateY(-2px)}.card a{color:var(--text);flex-direction:column;height:100%;text-decoration:none;display:flex}.card img,.card .noimg{aspect-ratio:1;object-fit:cover;background:var(--green-50);width:100%}.card .body{gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-4);flex-direction:column;display:flex}.card .name{font-weight:600;line-height:1.45}.card .price b{color:var(--text);font-size:17px}.card .chip{align-self:flex-start;margin:0}.noimg{background:linear-gradient(135deg, var(--green-50), var(--cream));place-items:center;display:grid}.noimg span{aspect-ratio:1;background:var(--green-100);width:34%;color:var(--green-700);border-radius:50%;place-items:center;font-size:clamp(24px,4vw,40px);font-weight:800;display:grid}.crumb{color:var(--text-muted);margin-bottom:var(--space-4);font-size:14px}.crumb a{color:var(--text-muted);text-decoration:none}.crumb a:hover{color:var(--green-700);text-decoration:underline}.pd-top{gap:var(--space-10);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;display:grid}.pd-media{gap:var(--space-3);flex-direction:column;display:flex}.pd-main{aspect-ratio:1;object-fit:contain;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%}.pd-thumbs{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.pd-thumbs button{aspect-ratio:1;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:0;padding:0;display:block;overflow:hidden}.pd-thumbs button:hover{border-color:var(--green-300);background:var(--surface)}.pd-thumbs button[aria-pressed=true]{border-color:var(--green-600)}.pd-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.pd-buy{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-6) var(--space-5);box-shadow:var(--shadow-md);position:sticky;top:88px}.pd-cat{margin:0 0 var(--space-2)}.pd-cat .chip{background:var(--green-100);color:var(--green-700);margin:0}.pd-buy h1{margin-bottom:var(--space-2);font-size:26px}.pd-summary{color:var(--text-muted);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.pd-buy .price{margin:0 0 var(--space-2)}.pd-buy .price b{color:var(--text);letter-spacing:-.02em;font-size:30px}.pd-ship{gap:var(--space-1) var(--space-4);margin:0 0 var(--space-2);padding:var(--space-3) var(--space-4);background:var(--cream);border-radius:var(--radius-md);grid-template-columns:max-content 1fr;font-size:14px;display:grid}.pd-ship dt{color:var(--text-muted)}.pd-ship dd{color:var(--text);margin:0}.pd-buy select,.pd-buy input[type=number]{width:100%}.pd-buy button.primary{width:100%;min-height:54px;font-size:17px}.pd-tabs{z-index:5;gap:var(--space-1);margin:var(--space-12) 0 0;padding:var(--space-2) 0;background:var(--bg);border-bottom:2px solid var(--border);display:flex;position:sticky;top:64px;overflow-x:auto}.pd-tabs a{white-space:nowrap;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);color:var(--text-sub);font-size:15px;font-weight:600;text-decoration:none}.pd-tabs a:hover{background:var(--green-50);color:var(--green-700)}.pd-sec{margin-top:var(--space-6);padding:var(--space-6) var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);scroll-margin-top:130px}.pd-sec>h2:first-child,.pd-sec h2:first-child{margin-top:0}.pd-desc{max-width:880px;margin:0 auto;font-size:16px;line-height:1.8}.pd-desc>:first-child{margin-top:0}.pd-desc h2{margin:var(--space-10) 0 var(--space-3);text-align:center;font-size:24px}.pd-desc h3{margin:var(--space-10) 0 var(--space-3);padding-left:var(--space-3);border-left:4px solid var(--green-500);color:var(--green-800);font-size:19px}.pd-desc p{margin:0 0 var(--space-3)}.pd-desc ul,.pd-desc ol{margin:0 0 var(--space-4);padding-left:var(--space-6)}.pd-desc li{margin:var(--space-1) 0}.pd-desc ul li::marker{color:var(--green-500)}.pd-desc figure{margin:var(--space-6) 0}.pd-desc img{border-radius:var(--radius-lg);max-width:100%;height:auto;margin:0 auto;display:block}.pd-desc figcaption{text-align:center;color:var(--text-muted);margin-top:var(--space-2);font-size:14px}.pd-desc table{border-collapse:separate;border-spacing:0;width:100%;margin:0 0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:15px;overflow:hidden}.pd-desc th,.pd-desc td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.pd-desc tr:last-child th,.pd-desc tr:last-child td{border-bottom:0}.pd-desc th{background:var(--cream);width:28%;color:var(--text);font-weight:600}.pd-desc blockquote{margin:var(--space-6) 0;padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);background:var(--green-50);border:1px solid var(--green-200);color:var(--text)}.pd-desc blockquote>:last-child{margin-bottom:0}.pd-desc blockquote strong:first-child{color:var(--green-800);margin-bottom:var(--space-2);font-size:17px;display:block}.pd-desc hr{border:0;border-top:1px solid var(--border);margin:var(--space-8) 0}img.hero{border-radius:var(--radius-lg);width:100%}.facts,.kv{gap:var(--space-2) var(--space-6);grid-template-columns:max-content 1fr;margin:0;display:grid}.facts dt{color:var(--text);font-weight:600}.kv dt{color:var(--text-muted)}.facts dd,.kv dd{margin:0}.pd-related{margin-top:var(--space-12)}.pd-related h2{margin:0 0 var(--space-4);font-size:22px}.pd-related .grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.recent-rail{z-index:8;align-items:center;gap:var(--space-2);width:104px;padding:var(--space-3) var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;font-size:13px;display:flex;position:fixed;top:120px;right:max(16px,50vw - 692px)}.recent-title{color:var(--text);margin:0;font-weight:600;line-height:1.4}.recent-title b{color:var(--green-700)}.recent-rail ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recent-rail a{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--green-50);width:76px;height:76px;display:block;overflow:hidden}.recent-rail a:hover{border-color:var(--green-500)}.recent-rail img{object-fit:cover;width:100%;height:100%;display:block}.recent-noimg{width:100%;height:100%;color:var(--green-700);place-items:center;font-size:22px;font-weight:800;display:grid}.recent-more{margin:0;font-size:12px}.recent-clear{color:var(--text-muted);font-size:12px}.recent-top{width:100%;min-height:32px;padding:0 var(--space-2);font-size:12px;font-weight:600}@media (width<=1399px){.recent-rail{display:none}}.rel-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rel-list li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex}.rel-list button{min-height:36px;padding:0 var(--space-3)}.rel-list .chip{margin-left:var(--space-2)}.rel-no{background:var(--green-100);width:26px;height:26px;color:var(--green-800);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.rel-pick{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.rel-pick button{justify-content:flex-start;align-items:stretch;gap:var(--space-1);width:100%;height:100%;padding:var(--space-2);text-align:left;flex-direction:column;font-weight:500}.rel-pick img,.rel-noimg{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);background:var(--green-50);width:100%}.rel-noimg{color:var(--green-700);place-items:center;font-size:28px;font-weight:800;display:grid}.rel-name{color:var(--text);font-size:14px;line-height:1.4}.rel-status{font-size:12px}.steps{margin:0 0 var(--space-4);gap:var(--space-2);color:var(--text-muted);counter-reset:step;padding:0;font-size:14px;list-style:none;display:flex}.steps li{align-items:center;gap:var(--space-2);counter-increment:step;display:flex}.steps li:before{content:counter(step);background:var(--cream);border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.steps li:not(:last-child):after{content:"›";margin-left:var(--space-2);color:var(--stone-300)}.steps li[aria-current=step]{color:var(--green-800);font-weight:700}.steps li[aria-current=step]:before{background:var(--green-700);border-color:var(--green-700);color:var(--primary-text)}.cart-wrap{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.cart-lines{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cart-line{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:96px minmax(0,1fr) auto 110px 36px;display:grid}.cart-line.muted{opacity:.65}.cart-thumb{border-radius:var(--radius-md);background:var(--green-50);border:1px solid var(--border);width:96px;height:96px;color:var(--green-700);place-items:center;font-size:28px;font-weight:800;text-decoration:none;display:grid;overflow:hidden}.cart-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cart-info{flex-direction:column;gap:2px;min-width:0;display:flex}.cart-name{color:var(--text);font-weight:700;line-height:1.45;text-decoration:none}.cart-name:hover{color:var(--green-700);text-decoration:underline}.cart-opt{font-size:14px}.cart-unit{color:var(--text-sub);font-size:14px}.cart-info .chip{margin:var(--space-1) var(--space-1) 0 0}.cart-qty{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);align-items:center;display:inline-flex;overflow:hidden}.cart-qty button{background:var(--cream);border:0;border-radius:0;width:40px;min-height:40px;padding:0;font-size:18px}.cart-qty button:hover{background:var(--green-50)}.cart-qty input{text-align:center;-moz-appearance:textfield;border:0;border-radius:0;width:52px;min-height:40px;padding:0}.cart-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cart-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-qty input:focus{box-shadow:none}.cart-line-total{text-align:right;color:var(--text);font-size:17px}.cart-remove{width:36px;min-height:36px;color:var(--text-muted);background:0 0;border-color:#0000;padding:0;font-size:16px}.cart-remove:hover{background:var(--danger-bg);color:var(--danger-text);border-color:#0000}.cart-continue{margin-top:var(--space-2);color:var(--text-sub);align-self:flex-start;font-weight:600;text-decoration:none}.cart-continue:hover{color:var(--green-700)}.cart-summary{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:sticky;top:88px}.cart-summary h2{margin:0 0 var(--space-4);font-size:18px}.cart-summary dl{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);grid-template-columns:1fr auto;font-size:15px;display:grid}.cart-summary dt{color:var(--text-sub)}.cart-summary dd{text-align:right;color:var(--text);margin:0}.cart-summary .total{border-top:1px solid var(--border);padding-top:var(--space-4);margin-bottom:var(--space-3);align-items:baseline}.cart-summary .total b{color:var(--green-800);letter-spacing:-.02em;font-size:26px}.cart-note{margin:0 0 var(--space-3);font-size:13px;line-height:1.6}.cart-go{width:100%;min-height:52px;margin-bottom:var(--space-2);font-size:17px}.cart-empty{align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-12) var(--space-6);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-xl);flex-direction:column;display:flex}.cart-empty-mark{margin:0;font-size:48px;line-height:1}.cart-empty-title{color:var(--text);margin:var(--space-2) 0 0;font-size:20px;font-weight:700}.cart-empty .button{margin-top:var(--space-3)}.co-wrap{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.co-main{gap:var(--space-4);flex-direction:column;display:flex}.co-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);margin:0}.co-card h2,.co-card legend{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--text);font-size:18px;font-weight:700;display:flex}.co-card legend{float:left;width:100%;margin-bottom:var(--space-4);padding:0}.co-card legend+*{clear:both}.co-no{background:var(--green-700);width:26px;height:26px;color:var(--primary-text);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.co-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.co-zip{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.co-zip>.stack{width:200px}.addr-btn{background:var(--green-800);border-color:var(--green-800);color:var(--primary-text)}.addr-btn:hover{background:var(--green-700);border-color:var(--green-700);color:var(--primary-text)}.co-zip>.err{flex-basis:100%}.addr-layer{z-index:50;padding:var(--space-4);background:color-mix(in srgb, var(--ink) 45%, transparent);place-items:center;display:grid;position:fixed;inset:0}.addr-panel{background:var(--surface);border-radius:var(--radius-xl);width:min(520px,100%);height:min(600px,90vh);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.addr-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.addr-close{background:0 0;border-color:#0000;width:36px;min-height:36px;padding:0}.addr-box{flex:1;min-height:0}.addr-box>p{padding:var(--space-4)}.co-same{color:var(--text-sub);font-size:14px}.co-methods{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.co-method{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);cursor:pointer;border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);font-weight:400;transition:border-color .15s,background .15s;display:flex}.co-method:hover{border-color:var(--green-400)}.co-method.on{border-color:var(--green-600);background:var(--green-50);box-shadow:0 0 0 1px var(--green-600)}.co-method input{margin-top:3px}.co-method span{flex-direction:column;gap:2px;display:flex}.co-method b{color:var(--text)}.co-method small{font-size:13px}.co-pay>p{margin:var(--space-4) 0 0;font-size:14px}.co-side{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:sticky;top:88px}.co-side h2{margin:0 0 var(--space-4);font-size:18px}.co-lines{margin:0 0 var(--space-4);padding:0 0 var(--space-3);gap:var(--space-3);border-bottom:1px solid var(--border);flex-direction:column;max-height:300px;list-style:none;display:flex;overflow-y:auto}.co-lines li{gap:var(--space-3);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;font-size:14px;display:grid}.co-thumb{border-radius:var(--radius-md);background:var(--green-50);border:1px solid var(--border);width:52px;height:52px;color:var(--green-700);place-items:center;font-weight:800;display:grid;overflow:hidden}.co-thumb img{object-fit:cover;width:100%;height:100%;display:block}.co-lname{color:var(--text);line-height:1.4}.co-lsum{color:var(--text);white-space:nowrap;font-weight:600}.co-amounts{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);grid-template-columns:1fr auto;font-size:15px;display:grid}.co-amounts dt{color:var(--text-sub)}.co-amounts dd{text-align:right;color:var(--text);margin:0}.co-side .total{border-top:1px solid var(--border);padding-top:var(--space-4);margin-bottom:var(--space-3);align-items:baseline}.co-side .total b{color:var(--green-800);letter-spacing:-.02em;font-size:26px}.co-agree{padding:var(--space-3);margin-bottom:var(--space-3);background:var(--cream);border-radius:var(--radius-md);font-size:14px}.co-submit{width:100%;min-height:54px;font-size:17px}.co-note{margin:var(--space-2) 0 0;font-size:13px;line-height:1.6}main:not(.wide) .co-wrap{grid-template-columns:1fr}main:not(.wide) .co-side{position:static}main:not(.wide) .co-grid{grid-template-columns:1fr}.od-hero{align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.od-hero.done{padding:var(--space-8);border-radius:var(--radius-xl);color:var(--text);background:linear-gradient(120deg, var(--green-50), var(--surface));border:1px solid var(--green-200)}.od-check{background:var(--green-600);width:64px;height:64px;color:var(--primary-text);box-shadow:0 0 0 8px var(--green-100);border-radius:50%;flex:none;place-items:center;font-size:32px;font-weight:800;display:grid}.od-hero h1{margin:0 0 var(--space-2);font-size:28px}.od-hero p{margin:0 0 var(--space-1)}.od-no{align-items:center;gap:var(--space-2);color:var(--text-sub);flex-wrap:wrap;display:flex}.od-no b{color:var(--text);font-size:18px}.od-copy{min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:13px}.od-flow{margin:0 0 var(--space-6);counter-reset:f;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;display:grid}.od-flow li{text-align:center;color:var(--text-muted);counter-increment:f;padding-top:30px;font-size:13px;position:relative}.od-flow li:before{content:counter(f);z-index:1;background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.od-flow li+li:after{content:"";background:var(--border-strong);width:100%;height:2px;position:absolute;top:11px;right:50%}.od-flow li.done,.od-flow li.now{color:var(--green-800)}.od-flow li.done:before{content:"✓";background:var(--green-100);border-color:var(--green-600);color:var(--green-700)}.od-flow li.now:before{background:var(--green-600);border-color:var(--green-600);color:var(--primary-text)}.od-flow li.now{font-weight:700}.od-flow li.done+li:after,.od-flow li.done+li.now:after{background:var(--green-500)}.od-state{margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4);background:var(--cream);border-radius:var(--radius-md)}.od-wrap{gap:var(--space-8);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.od-main{gap:var(--space-4);flex-direction:column;display:flex}.od-card,.od-main>.box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.od-card h2,.od-main>.box h2{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);font-size:18px;display:flex}.od-card h2 .chip{margin:0}.od-lines{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.od-lines li{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;display:grid}.od-lines li:first-child{border-top:0;padding-top:0}.od-mark{border-radius:var(--radius-md);background:var(--green-50);width:44px;height:44px;color:var(--green-700);place-items:center;font-weight:800;display:grid}.od-lname{color:var(--text);flex-direction:column;line-height:1.45;display:flex}.od-lname small{font-size:13px}.od-lines b{color:var(--text);white-space:nowrap}.od-kv{gap:var(--space-2) var(--space-5)}.od-hint{margin:var(--space-3) 0 0;font-size:14px}.od-actions{gap:var(--space-3);flex-direction:column;display:flex}.od-actions:empty{display:none}.od-actions>button{align-self:flex-start}.od-side{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:sticky;top:88px}.od-side h2{margin:0 0 var(--space-4);font-size:18px}.od-amounts{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);grid-template-columns:1fr auto;font-size:15px;display:grid}.od-amounts dt{color:var(--text-sub)}.od-amounts dd{text-align:right;color:var(--text);margin:0}.od-side .total{border-top:1px solid var(--border);padding-top:var(--space-4);margin-bottom:var(--space-4);align-items:baseline}.od-side .total b{color:var(--green-800);letter-spacing:-.02em;font-size:26px}.od-meta{padding:var(--space-3) var(--space-4);background:var(--cream);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:14px}.od-go{width:100%;margin-bottom:var(--space-2)}.mo-head{align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.mo-head h1{margin:0}.mo-head p{margin:0;font-size:14px}.mo-tabs{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.mo-tabs button{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-full);font-weight:500}.mo-tabs button[aria-selected=true]{background:var(--green-800);border-color:var(--green-800);color:var(--primary-text)}.mo-count{border-radius:var(--radius-full);background:var(--cream);min-width:22px;height:22px;color:var(--text-sub);place-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.mo-tabs button[aria-selected=true] .mo-count{background:var(--green-600);color:var(--primary-text)}.mo-none{padding:var(--space-6) 0}.mo-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s;overflow:hidden}.mo-card:hover{box-shadow:var(--shadow-md);border-color:var(--green-200)}.mo-top{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--cream);border-bottom:1px solid var(--border);font-size:14px;display:flex}.mo-top b{color:var(--text)}.mo-top .mono{margin-left:var(--space-2);font-size:13px}.mo-badge{padding:2px var(--space-3);border-radius:var(--radius-full);white-space:nowrap;font-size:13px;font-weight:700}.mo-badge.wait{background:var(--sun-100);color:var(--sun-700)}.mo-badge.progress{background:var(--sea-100);color:var(--sea-700)}.mo-badge.done{background:var(--green-100);color:var(--green-700)}.mo-badge.cancel{background:var(--danger-bg);color:var(--danger-text)}.mo-body{gap:var(--space-4);padding:var(--space-4) var(--space-5);grid-template-columns:80px minmax(0,1fr) auto;align-items:center;display:grid}.mo-thumb{border-radius:var(--radius-md);background:var(--green-50);border:1px solid var(--border);width:80px;height:80px;color:var(--green-700);place-items:center;font-size:26px;font-weight:800;text-decoration:none;display:grid;overflow:hidden}.mo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mo-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.mo-title{color:var(--text);font-weight:700;line-height:1.45;text-decoration:none}.mo-title:hover{color:var(--green-700);text-decoration:underline}.mo-total{color:var(--text);font-size:18px;font-weight:700}.mo-go{min-height:40px;padding:0 var(--space-4)}.mo-more{margin:var(--space-5) auto 0;min-width:220px;display:flex}.lines{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lines li{border-bottom:1px solid var(--border);padding:var(--space-4) 0}.lines li:first-child{border-top:1px solid var(--border)}.lines li.muted{opacity:.7}.lines li>a{color:var(--text);font-weight:600;text-decoration:none}.lines li>a:hover{color:var(--green-700)}.lines .row{margin-top:var(--space-2)}.lines input{width:88px;min-height:40px;margin-left:var(--space-2)}.lines button{min-height:40px;padding:0 var(--space-3)}.total{color:var(--text);padding:var(--space-3) 0;justify-content:space-between;margin:0;font-size:18px;display:flex}.total b{font-size:22px}.admin-shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin-nav{padding:var(--space-5) var(--space-3);background:var(--green-900);flex-direction:column;gap:2px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.admin-nav a{color:var(--green-100);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:14px;text-decoration:none}.admin-nav a:hover{background:var(--green-800);color:var(--primary-text)}.admin-nav a.active{background:var(--green-700);color:var(--primary-text);font-weight:700}.admin-nav button{color:var(--green-100);padding:var(--space-2) var(--space-3);background:0 0;border-color:#0000;justify-content:flex-start}.admin-nav button:hover{background:var(--green-800);color:var(--primary-text);border-color:#0000}.admin-brand{color:var(--primary-text);padding:var(--space-1) var(--space-3) var(--space-4);font-size:16px}.admin-role{margin-top:var(--space-4);padding:var(--space-3) var(--space-3) var(--space-1);border-top:1px solid var(--green-800);color:var(--green-300);font-size:var(--text-caption)}main.admin-main>button,main.admin-main>a.button{align-self:flex-start}main.admin-main h1{margin-bottom:var(--space-2)}.tiles{gap:var(--space-4);margin-top:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tile{gap:var(--space-1);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tile b{color:var(--text)}.tile span{color:var(--text-muted);font-size:14px}main.admin-main{max-width:1280px;padding:var(--space-8);width:100%;margin:0}.table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;font-size:14px;overflow:hidden}.table th{white-space:nowrap;background:var(--cream);color:var(--text);font-weight:600}.table th,.table td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--green-50)}.table input{width:100%;min-width:80px;min-height:40px}.table input[type=checkbox]{width:20px;min-width:0}.thumb{object-fit:cover;border-radius:var(--radius-md);background:var(--muted);width:48px;height:48px;display:inline-block}.photos{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}details summary{cursor:pointer;font-weight:600}.legal h2{margin-top:var(--space-6)}@media (width<=860px){.pd-top{gap:var(--space-6);grid-template-columns:1fr}.pd-buy{position:static}.pd-sec{padding:var(--space-5) var(--space-4)}.cart-wrap,.co-wrap,.od-wrap{grid-template-columns:1fr}.od-side,.co-side,.cart-summary,.pd-tabs{position:static}}@media (width<=720px){main{padding-top:var(--space-6)}header.top nav{gap:var(--space-3) var(--space-4);padding-top:var(--space-2);padding-bottom:var(--space-2)}header.top .brand{width:100%}header.top nav a,header.top button.link{font-size:14px}.hero-band{padding:var(--space-8) var(--space-5)}.hero-band:after{width:140px;height:140px;top:-50px;right:-50px}.grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.card .body{padding:var(--space-2) var(--space-3) var(--space-3)}.toolbar input[type=search]{min-width:0;max-width:none}.admin-shell,.co-grid{grid-template-columns:1fr}.mo-top{padding:var(--space-2) var(--space-3);flex-wrap:wrap}.mo-top .mono{margin:0;display:block}.mo-body{padding:var(--space-3);grid-template-columns:64px minmax(0,1fr)}.mo-thumb{width:64px;height:64px}.mo-go{grid-column:1/-1;width:100%}.od-hero.done{padding:var(--space-5);flex-direction:column;align-items:flex-start}.od-hero h1{font-size:24px}.od-flow li{font-size:11px}.od-card,.od-main>.box,.od-side,.co-card,.co-side{padding:var(--space-4)}.cart-line{gap:var(--space-2) var(--space-3);padding:var(--space-3);grid-template-columns:72px auto minmax(0,1fr) 32px;grid-template-areas:"thumb info info remove""thumb qty total total"}.cart-thumb{grid-area:thumb;align-self:start;width:72px;height:72px}.cart-info{grid-area:info}.cart-qty{grid-area:qty;justify-self:start}.cart-line-total{white-space:nowrap;grid-area:total;place-self:center end}.cart-remove{grid-area:remove;align-self:start}.admin-nav{flex-flow:wrap;height:auto;position:static}main.admin-main{padding:var(--space-5) var(--space-4)}}@page{size:A4 portrait;margin:15mm}@media print{.no-print,header.top,footer.foot,.admin-nav{display:none!important}.doc{max-width:none}.doc .table{font-size:11pt}}
