:root{font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:#192c28;background:#f5f7f4;font-size:16px;--green:#144f48;--deep:#0e3b35;--mint:#e9f3ee;--gold:#b4782d;--line:#e3e9e4;--muted:#61706c}
*{box-sizing:border-box}body{margin:0;min-width:310px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #84c3a6;outline-offset:2px}[hidden]{display:none!important}
.site-head{background:var(--green);color:white;padding:22px 18px 20px}.brand-inner{max-width:980px;margin:auto;display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;width:52px;height:52px;background:#ffffff20;border-radius:16px;font-size:27px}.brand-text{flex:1;min-width:0}.eyebrow{margin:0 0 5px;color:#d3ebe0;font-size:.75rem;letter-spacing:.015em}.site-head h1{margin:0;font-size:1.42rem;letter-spacing:-.045em}.head-chip{font-size:.76rem;white-space:nowrap;border:1px solid #ffffff40;padding:7px 9px;border-radius:20px}.layout{max-width:980px;margin:auto;padding:25px 16px 120px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.kicker{color:var(--gold);font-weight:700;font-size:.78rem;margin:0 0 6px}.section-heading h2{font-size:1.74rem;letter-spacing:-.055em;margin:0}.status-chip{border-radius:30px;background:#e7eee9;color:#316457;padding:7px 11px;font-size:.8rem;white-space:nowrap;font-weight:750}.status-chip.confirmed{background:#d4eee0;color:#15603d}
.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:15px;box-shadow:0 4px 16px #183f2820}.week-controller{background:#fffdf8}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:9px}.icon-btn{min-width:45px;height:51px;border:1px solid #d9e2d8;background:white;border-radius:12px;font-weight:800;color:var(--green);font-size:1.35rem}.week-date-area{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;gap:3px}.tiny-label{font-size:.77rem;color:var(--muted);font-weight:650}.week-date-area input{border:none;background:transparent;text-align:center;color:#204941;max-width:176px;width:100%;font-weight:700;font-size:.9rem;padding:3px}.week-label{font-size:.93rem;white-space:nowrap}.hint-text,.inline-help,.center-note{color:var(--muted);font-size:.83rem;line-height:1.55}.hint-text{margin:14px 0}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{min-height:49px;border-radius:12px;border:1px solid transparent;padding:12px 14px;font-weight:750;line-height:1.25;white-space:normal;font-size:.96rem;transition:filter .13s}.btn:active{filter:brightness(.94)}.btn-primary{background:var(--green);color:white}.btn-outline{background:white;border-color:#b9ccc3;color:var(--green)}.btn-print{background:#e7efe8;border:1px solid #acc5b9;color:var(--deep);width:100%}.full-btn{width:100%}.btn-danger-outline{color:#b63c32;border:1px solid #e0c3c0;background:white;width:100%;margin-top:10px}.bottom-actions{margin:20px auto 0;max-width:570px}.center-note{text-align:center;margin:9px 0}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;flex-wrap:wrap}h3{margin:0;font-size:1.17rem;letter-spacing:-.025em}.mini-note{font-size:.73rem;color:var(--muted)}.day-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.day-pill{min-height:69px;border:1px solid #dfe8df;border-radius:13px;background:#f9fbf8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#315047;padding:6px 3px}.day-pill strong{font-size:.95rem}.day-pill span{font-size:.74rem}.day-pill.active{background:var(--green);color:white;border-color:var(--green)}.day-pill.is-closed:not(.active){background:#f0f0ed;color:#919b95}.week-brief{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:12px}.brief-card{border-radius:10px;background:#f4f7f3;padding:10px 7px;min-height:76px;color:#4d6359;font-size:.73rem;line-height:1.4;overflow-wrap:anywhere}.brief-card.active{background:var(--mint);outline:1px solid #a3c7b9}.brief-card.closed{background:#f1f2f0;color:#959c95;text-align:center;display:flex;align-items:center;justify-content:center}.brief-main{display:block;font-size:.84rem;color:#1a4d40;font-weight:750;margin-bottom:5px}.no-meal{font-size:.78rem;color:#8e9892}
.day-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:13px}.holiday-toggle{display:flex;align-items:center;gap:8px;border:1px solid #dfe6df;padding:10px 12px;border-radius:20px;white-space:nowrap;font-size:.9rem;font-weight:750}.holiday-toggle input{width:20px;height:20px;accent-color:var(--green)}.slot-list{display:grid;gap:8px}.slot-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;min-height:58px;gap:9px;padding:8px 9px 8px 12px;border:1px solid #e8eee8;border-radius:12px}.slot-label{font-size:.82rem;color:#66766f;font-weight:700}.slot-value{font-size:1.02rem;font-weight:700;overflow-wrap:anywhere}.slot-value.empty{font-weight:500;color:#b1b7b1}.slot-action{border-radius:9px;padding:10px 11px;min-width:60px;border:1px solid #d8e3d9;background:#f5f9f5;font-size:.82rem;color:var(--green);font-weight:800}.closed-message{background:#f7f7f3;text-align:center;border-radius:15px;padding:28px 10px;color:#77847c}.closed-message strong{display:block;font-size:1.2rem;color:#3f4e47;margin-bottom:8px}.closed-message span{font-size:.89rem}.inline-help{margin:13px 0 0}.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;background:white;border-top:1px solid #dce6de;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-shadow:0 -5px 20px #173a2710}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;max-width:240px;background:transparent;border:0;color:#7b8b83;font-size:.75rem;font-weight:750;min-height:55px}.nav-btn>span:first-child{font-size:1.35rem}.nav-btn.selected{color:var(--green)}
.filter-area{display:grid;gap:8px}.text-input{width:100%;font-size:1rem;padding:13px 13px;border:1px solid #d4dfd5;border-radius:10px;min-height:48px;background:white;color:#192e27}.filter-pills{display:flex;gap:7px;overflow-x:auto;padding:4px 0 8px}.filter-pill{white-space:nowrap;border-radius:100px;padding:9px 12px;border:1px solid #d6e3d8;background:white;font-size:.86rem;color:var(--green);font-weight:700}.filter-pill.active{background:var(--green);color:white}.foods-list{margin-top:15px;display:grid;gap:7px;max-height:none}.food-item{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e5ece7;border-radius:11px;min-height:58px}.food-item-info{flex:1;min-width:0}.food-item-name{font-weight:700}.food-item-meta{font-size:.76rem;color:var(--muted);margin-top:4px}.mini-btn{min-width:51px;min-height:40px;background:#f6faf7;border:1px solid #d7e4da;color:var(--green);font-weight:750;border-radius:9px;font-size:.82rem}.mini-btn.remove{color:#ae544c;background:#fff9f8;border-color:#eeddd9}.foods-empty{text-align:center;padding:25px 12px;color:var(--muted)}
.info-card h3{margin-bottom:9px}.info-card p{line-height:1.65;color:#4c6158;margin:10px 0}.vertical-actions{display:grid;gap:9px;margin-top:16px}.warning-note{background:#fff7e9;padding:11px;border-radius:9px;font-size:.84rem}.build-footer{text-align:center;color:#89978e;font-size:.74rem;padding:15px}
.app-dialog{width:min(540px,calc(100% - 20px));max-height:min(86vh,820px);border:0;border-radius:20px;padding:20px;box-shadow:0 25px 80px #12291d6a;background:white;color:#1b3028}.app-dialog::backdrop{background:#0f2523a6}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px;gap:10px}.dialog-top h3{font-size:1.3rem}.close-btn{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid #dfebe2;background:white;font-size:1.1rem}.picker-options{overflow:auto;max-height:50vh;display:grid;gap:6px;margin:11px 0}.pick-item{width:100%;border:1px solid #e3ede5;border-radius:11px;padding:14px 12px;background:#fafcf9;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#213d32;font-weight:720}.pick-item small{font-size:.7rem;color:#687c70;white-space:nowrap}.dialog-foot{padding-top:12px;border-top:1px solid var(--line)}.form-fields{display:grid;gap:14px}.form-fields label{display:grid;gap:6px;font-weight:760;font-size:.89rem}.form-fields + .inline-help{margin-bottom:14px}.toast{position:fixed;z-index:40;bottom:95px;left:50%;transform:translate(-50%,20px);background:#213b31;color:white;padding:12px 18px;border-radius:11px;max-width:min(94vw,480px);box-shadow:0 10px 30px #0003;visibility:hidden;opacity:0;transition:opacity .18s,transform .18s;font-size:.86rem;line-height:1.45;text-align:center}.toast.show{visibility:visible;opacity:1;transform:translate(-50%,0)}
#print-sheet{display:none}
@media(min-width:800px){.layout{padding:36px 30px 140px}.site-head{padding:28px 30px}.site-head h1{font-size:1.75rem}.mark{width:64px;height:64px}.week-controller{padding:22px}.summary-panel{padding:24px}.week-brief,.day-tabs{gap:12px}.panel{padding:24px}.day-detail{max-width:980px}.slot-row{grid-template-columns:130px 1fr auto}.slot-label{font-size:.97rem}.slot-action{min-width:94px}.action-row{max-width:530px;margin:0 auto}}
@media(max-width:420px){.head-chip{display:none}.action-row{grid-template-columns:1fr 1fr}.btn{font-size:.88rem;padding:10px 8px}.panel{padding:14px}.brief-card{padding:9px 4px;font-size:.65rem}.brief-main{font-size:.76rem}.slot-row{grid-template-columns:66px minmax(0,1fr) auto;gap:5px;padding:7px}.slot-action{min-width:50px;padding:10px 5px}.slot-label{font-size:.75rem}.slot-value{font-size:.94rem}}
@media print{
 @page{size:A4 landscape;margin:12mm}
 html,body{background:white!important;margin:0;padding:0;color:black!important}
 #app,.toast,.app-dialog{display:none!important}
 #print-sheet{display:block!important;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:#111;margin:0;width:100%;max-width:100%}
 #print-sheet .print-top{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid #222;padding-bottom:9px;margin-bottom:12px}
 #print-sheet h1{margin:0;font-size:19pt}#print-sheet .print-meta{font-size:10pt;text-align:right;line-height:1.6}
 #print-sheet table{width:100%;border-collapse:collapse;table-layout:fixed}#print-sheet th,#print-sheet td{border:1px solid #444;text-align:center;padding:9px 4px;word-break:keep-all;overflow-wrap:anywhere}
 #print-sheet th{background:#e9efeb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:13pt}
 #print-sheet td{height:29pt;font-size:11pt;vertical-align:middle}#print-sheet tr.slot-main td{font-weight:750}#print-sheet tr.closed-row td{background:#fafafa!important}#print-sheet .print-foot{margin-top:8px;font-size:9pt;color:#333}
}

/* 앱 아이콘: 헤더 이모지 대신 전용 고해상도 아이콘 사용 */
.mark{padding:3px;background:#ffffff}.mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px}
