body{background:#faf7f1}.admin-main{max-width:1550px;margin:auto;padding:35px}.admin-main h1{font-size:30px;margin:6px 0 20px}.login-panel{max-width:410px;margin:50px auto;background:#fffdf9;border:1px solid var(--line);border-radius:10px;padding:35px}.login-panel .primary{margin-top:25px}.admin-heading,.actions,.filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.actions{flex-wrap:wrap}.admin-main button,header button,.file-button{padding:11px 14px;border:1px solid #d9c8b6;border-radius:5px;background:#fffdf9;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.admin-main .accent,.admin-main .primary{background:var(--orange);color:white;border-color:var(--orange)}.admin-main .primary{font-size:14px;padding:16px}.contacts-panel{background:#eee4d5;padding:22px;border-radius:8px;margin:18px 0 24px;display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.contacts-panel h2{font-size:17px}.contacts-panel p{font-size:11px;line-height:1.8;max-width:650px}.contacts-panel>p{width:100%;margin:0}.file-button input{display:block;font-size:10px;max-width:200px;margin-top:8px}.filter-row{justify-content:flex-start;flex-wrap:wrap;margin:24px 0}.filter-row label{font-size:11px}.filter-row input{display:block;min-height:40px;margin-top:8px;border:1px solid var(--line);padding:10px;border-radius:4px;background:white}.filter-row select{margin-top:8px;padding:10px}.filter-row span{margin-left:auto;font-size:12px;color:var(--muted)}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:22px}.order-list,.editor-panel{background:#fffdf9;border:1px solid var(--line);border-radius:7px;min-width:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;background:#f0e8dc;color:#836b56}td small{display:block;font-size:10px;color:var(--muted);margin-top:7px;max-width:140px;overflow-wrap:anywhere}.selected-row{background:#f9ecdc}.editor-panel{padding:23px}.editor-panel h2{font-size:20px}.editor-panel h3{font-size:14px;margin:25px 0 12px}.editor-panel label{font-size:12px}.editor-panel input,.editor-panel select,.editor-panel textarea{width:100%;border:1px solid #dbcbb7;border-radius:4px;padding:11px;background:#fffdf9;color:var(--ink);font:inherit;font-size:12px;margin:7px 0 12px}.editor-panel textarea{min-height:65px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-preview{padding:14px;background:#f4ede1;border-radius:5px;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.contact-preview p{margin:3px 0}.edit-line{display:grid;grid-template-columns:1fr 65px 90px 40px;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.edit-line input{margin:0}.edit-line small{display:block;color:var(--muted);margin-top:5px;line-height:1.6}.danger{color:#b04432!important}.audit{font-size:10px;color:var(--muted);line-height:1.8}.manual-add{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.editor-panel .actions{justify-content:flex-start;margin-top:15px}#session-name{font-size:12px;margin-right:15px}#print-area{display:none}[hidden]{display:none!important}@media(max-width:1050px){.admin-layout{grid-template-columns:1fr}.admin-main{padding:20px}.admin-heading{flex-wrap:wrap}.edit-line{grid-template-columns:1fr 60px 80px 35px}}@media print{@page{size:A4;margin:15mm}body>*{display:none!important}body>#print-area{display:block!important;color:#222;background:white;font-family:'Malgun Gothic',sans-serif;font-size:11pt}#print-area h1{font-size:24pt;margin-bottom:8mm}#print-area h2{font-size:14pt}#print-area table{font-size:10pt;margin-top:8mm}#print-area th,#print-area td{padding:4mm 2mm;border-bottom:1px solid #bbb}#print-area thead{display:table-header-group}#print-area tr{break-inside:avoid}#print-area .print-total{text-align:right;font-size:16pt;margin-top:8mm}#print-area p{line-height:1.7;overflow-wrap:anywhere}#print-area .print-note{font-size:9pt;color:#666;margin-top:8mm}}
.admin-tabs{display:flex;gap:8px;margin:0 0 25px;padding:5px;background:#eee4d5;border-radius:6px}.admin-tabs button{flex:1;border:0;background:transparent;padding:14px;font-weight:700}.admin-tabs button.active{background:var(--orange);color:#fff}.view-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}.view-heading h2{font-size:22px}.view-heading p{font-size:11px;color:var(--muted);margin:7px 0 0}.catalog-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(420px,1.2fr);gap:22px}.catalog-list{background:#fffdf9;border:1px solid var(--line);border-radius:7px;overflow:hidden}.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px;border-bottom:1px solid var(--line)}.catalog-row:last-child{border-bottom:0}.catalog-row strong{display:block;font-size:13px}.catalog-row small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.inline-form{display:flex;align-items:end;gap:12px;background:#eee4d5;padding:18px;border-radius:7px;margin-bottom:16px}.inline-form label{flex:1;font-size:12px}.inline-form input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d9c8b6;border-radius:4px;background:#fffdf9}.category-list{background:#fffdf9;border:1px solid var(--line);border-radius:7px}.category-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.category-row:last-child{border-bottom:0}.category-row input{min-width:0;padding:11px;border:1px solid #d9c8b6;border-radius:4px}.product-option-row{display:grid;grid-template-columns:minmax(150px,1fr) 110px minmax(150px,1fr) 40px;gap:8px;align-items:center;margin-bottom:8px}.product-option-row input{margin:0}.trash-note{padding:13px;background:#f8e7d9;color:#8b482d;border-radius:5px;font-size:12px}button:disabled{opacity:.5;cursor:not-allowed}#pdf-stage{position:fixed;left:-12000px;top:0;width:794px;background:#fff;z-index:-1}.pdf-document{width:794px;min-height:1123px;padding:58px 62px;background:#fff;color:#231f1c;font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif}.pdf-document header{height:auto;padding:0 0 24px;background:#fff;border-bottom:3px solid #854324;align-items:end}.pdf-document header p{margin:0 0 8px;color:#854324;font-size:13px;font-weight:700}.pdf-document header h1{margin:0;font-size:31px;letter-spacing:0}.pdf-document header>strong{font-size:11px;max-width:240px;overflow-wrap:anywhere}.pdf-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.pdf-meta p{margin:0;padding:14px;background:#f8f3ec;color:#74655b;font-size:10px;line-height:1.7}.pdf-meta strong{color:#231f1c;font-size:12px}.pdf-address{margin:20px 0}.pdf-address h2{font-size:15px;margin-bottom:10px}.pdf-address p{font-size:12px;line-height:1.9}.pdf-document table{font-size:12px;margin-top:20px}.pdf-document th{background:#854324;color:#fff}.pdf-document td,.pdf-document th{padding:12px 10px}.pdf-total{text-align:right;font-size:22px;font-weight:800;color:#854324;margin:24px 0}.pdf-notice{background:#fff4d4;border:1px solid #ecd48e;padding:16px;font-size:12px;line-height:1.8}.pdf-document footer{padding:18px 0 0;margin-top:30px;border-top:1px solid #ddd;font-size:10px;color:#76685f}@media(max-width:900px){.catalog-layout{grid-template-columns:1fr}.view-heading{align-items:flex-start;flex-direction:column}.admin-tabs{overflow:auto}.admin-tabs button{min-width:130px}.product-option-row{grid-template-columns:1fr 90px 1fr 38px}}@media(max-width:600px){.category-row{grid-template-columns:1fr 1fr}.category-row input{grid-column:1/-1}.inline-form{align-items:stretch;flex-direction:column}.product-option-row{grid-template-columns:1fr 80px 38px}.product-option-row [data-option-image]{grid-column:1/-1;grid-row:2}.product-option-row .danger{grid-column:3;grid-row:1}.admin-tabs{margin-left:-10px;margin-right:-10px}}

/* 2026-10-26: popup and multi-photo administration */
.notice-editor{max-width:900px}.toggle-row{display:flex!important;align-items:center;gap:10px;padding:14px;background:#f1e8dc;border-radius:6px;margin-bottom:18px}.toggle-row input{width:20px!important;height:20px;margin:0!important}.image-drop{border:2px dashed #d1b99e;background:#faf4eb;padding:24px;text-align:center;border-radius:7px;transition:.15s}.image-drop.over{border-color:var(--orange);background:#f5e4d3}.image-drop strong,.image-drop span{display:block}.image-drop span{font-size:10px;color:var(--muted);margin:7px 0 12px}.image-drop input{max-width:100%;margin:0 auto!important}.image-sort{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.image-thumb{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#eee;cursor:grab}.image-thumb img{display:block;width:100%;height:100%;object-fit:cover}.image-thumb>span{position:absolute;left:6px;top:6px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#231b18cc;color:#fff;font-size:10px}.image-thumb button{position:absolute;right:5px;top:5px;width:28px;height:28px;padding:0!important;background:#fff!important;border-radius:50%!important;font-size:18px!important}.image-thumb:active{cursor:grabbing}#image-stage{position:fixed;left:-12000px;top:0;width:794px;background:#fff;z-index:-1}@media(max-width:600px){.image-sort{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 2026-10-26: gift packaging price administration */
.packaging-note{padding:14px;background:#fff5d7;border:1px solid #ead18d;border-radius:6px;font-size:12px;line-height:1.7}.packaging-table{display:grid;gap:9px;margin:16px 0}.packaging-row{display:grid;grid-template-columns:minmax(220px,1fr) 140px 90px 70px;gap:9px;align-items:center;padding:12px;background:#fffdf9;border:1px solid var(--line);border-radius:6px}.packaging-row input{width:100%;padding:10px;border:1px solid #d9c8b6;border-radius:4px}.packaging-row .package-active{display:flex;align-items:center;gap:6px;font-size:12px}.packaging-row .package-active input{width:18px;height:18px;margin:0}@media(max-width:650px){.packaging-row{grid-template-columns:1fr 110px}.packaging-row .package-active{grid-column:1}.packaging-row button{grid-column:2}}
/* 2026-10-26: gift packaging sample photos */
.packaging-row{grid-template-columns:130px minmax(220px,1fr) 80px 100px}.package-photo-upload{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:118px;margin:0!important;border:2px dashed #d5bea5;border-radius:6px;background:#faf4eb;overflow:hidden;cursor:pointer}.package-photo-upload.over{border-color:var(--orange);background:#f7e7d7}.package-photo-upload img{width:100%;height:82px;object-fit:cover}.package-photo-upload small{font-size:9px;color:var(--muted)}.package-photo-upload input{position:absolute;width:1px!important;height:1px;padding:0!important;opacity:0}.package-photo-empty{display:grid;place-items:center;width:100%;height:72px;color:#8f7967;font-size:11px}.package-fields{display:grid;grid-template-columns:minmax(160px,1fr) 120px;gap:9px}.package-actions{display:grid;gap:6px}.package-actions button{padding:8px!important}@media(max-width:760px){.packaging-row{grid-template-columns:110px 1fr}.package-fields{grid-template-columns:1fr}.packaging-row .package-active{grid-column:1}.package-actions{grid-column:2}}
/* 2026-10-26: automatic delivery fee */
.admin-cost-summary{margin-top:14px;border-top:1px solid var(--line)}.admin-cost-summary>div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:12px}.admin-cost-summary small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.admin-cost-summary .total{border-top:1px solid var(--line);font-size:14px}
/* 2026-10-29: flower delivery admin */
.flower-mark{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:#dce8d8;color:#a93f5c;font-size:34px;line-height:1}
.editor-grid .full-span{grid-column:1/-1}
.editor-grid textarea{width:100%;min-height:92px;resize:vertical}
#editor h3{margin-top:26px;color:#3f6650}
@media(max-width:720px){.editor-grid .full-span{grid-column:auto}.flower-mark{width:48px;height:48px;flex-basis:48px;font-size:28px}}
