:root{--bg:#f7f8fa;--ink:#15171a;--muted:#68707c;--line:#e5e7eb;--brand:#ff5b35;--dark:#20252b;--card:#fff}*{box-sizing:border-box}body{margin:0;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 22px}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.topinner{height:72px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;white-space:nowrap}.logo{width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff;display:inline-grid;place-items:center;font-weight:900}.search{flex:1;display:flex;max-width:620px;border:2px solid var(--dark);border-radius:10px;overflow:hidden;background:#fff}.search input{flex:1;border:0;padding:11px 14px;outline:0}.search button{border:0;background:var(--dark);color:#fff;padding:0 20px}.topinner nav{display:flex;gap:18px;font-size:14px;font-weight:700}.badge{background:var(--brand);color:#fff;border-radius:20px;padding:2px 7px}.main{padding-top:28px;padding-bottom:80px}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center;padding:58px;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#fff5f1 100%);border:1px solid #f0e4df}.hero h1{font-size:48px;line-height:1.12;margin:10px 0 14px;letter-spacing:-2px}.hero p{color:var(--muted);margin-bottom:28px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:2px;color:var(--brand)}.hero-card{background:var(--dark);color:#fff;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 50px #252a3030}.hero-card b{font-size:24px;margin-bottom:10px}.hero-card span{color:#d7dce2}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;font-size:14px}.btn.primary{background:var(--brand);color:#fff}.btn.dark{background:var(--dark);color:#fff}.btn.outline{background:#fff;border:1px solid var(--line)}.btn.wide{width:100%}.section{margin-top:54px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.section-head h2{margin:5px 0 0;font-size:28px}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.book-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.18s}.book-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000012}.cover{aspect-ratio:3/4;background:#ebeef2;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover}.cover-placeholder{height:100%;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,#2e333a,#14171b);color:#fff}.cover-placeholder span{font-size:11px;letter-spacing:3px}.cover-placeholder b{font-size:22px;line-height:1.3}.book-info{padding:18px}.book-info small{color:var(--muted)}.book-info h3{margin:5px 0;font-size:18px}.book-info p{font-size:13px;color:var(--muted);height:40px;overflow:hidden}.book-info strong{display:block;margin-top:12px;font-size:19px}.product{display:grid;grid-template-columns:390px 1fr;gap:60px;background:#fff;border:1px solid var(--line);padding:42px;border-radius:22px}.product-cover{border-radius:12px;box-shadow:0 15px 35px #0002}.product-summary h1{font-size:38px;margin:12px 0 4px}.author,.muted{color:var(--muted)}.lead{font-size:17px;max-width:650px}.price{font-size:32px;font-weight:900;margin:28px 0}.buyrow{display:flex;gap:10px}.buyrow select,.qty{border:1px solid var(--line);border-radius:9px;padding:10px}.detail-tabs{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px}.detail-tabs section+section{border-top:1px solid var(--line);margin-top:32px;padding-top:26px}.prose{color:#454b53;white-space:normal}.page-head{margin:12px 0 26px}.page-head h1{font-size:36px;margin:0}.page-head p{color:var(--muted)}.empty{padding:80px 20px;text-align:center;background:#fff;border:1px dashed #cfd3d8;border-radius:18px}.empty .btn{margin-top:20px}.cart-list{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px}.cart-row{display:flex;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--line)}.cart-row:last-child{border:0}.mini-cover{width:54px;height:70px;background:var(--dark);color:#fff;display:grid;place-items:center;border-radius:6px;overflow:hidden;font-size:10px}.mini-cover img{width:100%;height:100%;object-fit:cover}.grow{flex:1;display:flex;flex-direction:column}.grow small{color:var(--muted)}.qty{width:70px}.linkbtn{border:0;background:none;color:#d33;cursor:pointer}.summary-box{margin-left:auto;margin-top:22px;max-width:430px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.summary-box>div{display:flex;justify-content:space-between;padding:7px 0}.summary-box .total{border-top:1px solid var(--line);margin-top:8px;padding:18px 0;font-size:20px}.checkout{display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:start}.checkout .panel{grid-column:1}.checkout .summary-box{grid-column:2;grid-row:1/5;margin:0;position:sticky;top:94px}.panel,.adminpanel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.panel h2,.adminpanel h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}input,textarea,select{font:inherit;border:1px solid #d9dde2;border-radius:9px;padding:11px;background:#fff}textarea{resize:vertical}.order-line{display:flex;justify-content:space-between;padding:9px 0}.order-line.big{font-size:20px}.bank>div{display:grid;grid-template-columns:100px 1fr;padding:5px 0}.check{flex-direction:row;align-items:center}.check input{width:auto}.policy{margin-top:12px;background:#f6f7f8;padding:14px;border-radius:9px;color:var(--muted);font-size:12px}.complete{max-width:680px;margin:40px auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:54px}.checkmark{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#ecf9f0;color:#168443;font-size:34px;font-weight:900;margin:0 auto 18px}.receipt{margin:30px 0;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.receipt>div{display:flex;justify-content:space-between;padding:10px 0}.flash{padding:13px 16px;border-radius:10px;margin-bottom:18px;background:#ecf9f0;color:#176c38}.flash.error{background:#fff0ef;color:#a42922}.flash.warning{background:#fff7de;color:#795a00}footer{background:#23272d;color:#c9ced5;padding:36px 0}.foot{display:flex;flex-direction:column;gap:5px;font-size:13px}.foot strong{color:#fff}.foot small{margin-top:12px;color:#8f98a4}.adminbody{background:#f4f5f7}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#20242a;color:#fff;padding:22px}.adminbrand{margin-bottom:30px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{padding:12px;border-radius:9px;color:#d5d9de}.sidebar nav a:hover{background:#30353d;color:#fff}.adminmain{margin-left:230px;padding:34px;max-width:1500px}.adminhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.adminhead h1{margin:5px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column}.stats span{color:var(--muted);font-size:13px}.stats b{font-size:28px;margin-top:6px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:12px;color:var(--muted);background:#fafbfc}.status{padding:5px 9px;background:#f0f2f4;border-radius:20px;font-size:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters a{background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:20px;font-size:13px}.filters a.on{background:var(--dark);color:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.info{display:grid;grid-template-columns:100px 1fr;gap:9px;margin:0}.info dt{color:var(--muted)}.info dd{margin:0}.statusform{display:flex;gap:10px}.statusform input{flex:1}.history{margin-top:20px;border-top:1px solid var(--line)}.history>div{display:grid;grid-template-columns:100px 150px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.history span,.history small{color:var(--muted)}.formstack{display:flex;flex-direction:column;gap:16px;max-width:950px}.formstack h2{margin-top:18px;border-bottom:1px solid var(--line);padding-bottom:10px}.loginbody{min-height:100vh;display:grid;place-items:center;background:#1e2228}.loginbox{width:min(420px,calc(100% - 30px));background:#fff;border-radius:18px;padding:34px;display:flex;flex-direction:column;gap:16px}.loginbox .big{width:56px;height:56px}.loginbox h1{margin:0}.loginbox p{margin-top:-12px;color:var(--muted)}@media(max-width:850px){.search{display:none}.topinner{justify-content:space-between}.hero{grid-template-columns:1fr;padding:32px}.hero h1{font-size:38px}.book-grid{grid-template-columns:repeat(2,1fr)}.product{grid-template-columns:1fr;padding:24px;gap:28px}.product-cover{max-width:330px;margin:auto}.checkout{display:block}.checkout .summary-box{position:static;margin-top:18px}.sidebar{position:static;width:auto}.sidebar nav{flex-direction:row;overflow:auto}.adminmain{margin:0;padding:20px}.stats{grid-template-columns:1fr 1fr}.two-col,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.statusform{flex-direction:column}}@media(max-width:520px){.wrap{padding:0 14px}.topinner nav a:first-child{display:none}.hero{padding:24px}.hero h1{font-size:32px}.book-grid{grid-template-columns:1fr 1fr;gap:12px}.book-info{padding:12px}.book-info h3{font-size:15px}.book-info p{display:none}.product-summary h1{font-size:30px}.buyrow{flex-wrap:wrap}.cart-row{gap:9px}.cart-row .mini-cover{display:none}.stats{grid-template-columns:1fr}.complete{padding:32px 20px}.adminmain{padding:14px}.sidebar{padding:14px}.history>div{grid-template-columns:80px 1fr}.history small{grid-column:1/-1}}
@media print{.sidebar,.adminhead .btn,.topbar,footer,.statusform{display:none!important}.adminmain{margin:0;padding:0}.adminpanel{border:0}.adminbody{background:#fff}}
