:root{--backgroundColor: initial;--primaryButtonColor: #007bff;--logoImageUrl: url(/egift_logo_1200.jpg)}body{margin:0;font-family:Assistant,sans-serif;background-color:var(--backgroundColor)}#sidebar{width:160px;background-color:#f0f0f0;padding:20px}#content{flex-grow:1;padding:20px}#sidebar ul{list-style:none}#sidebar ul>li{margin:0 0 20px}#sidebar .logo{margin:0 auto 20px;width:80px}#sidebar img{clip-path:circle(40px at center)}h1{margin-top:0}h1 .app-name{font-weight:700;font-size:1.4rem}.base-layout h1{font-size:1.4rem;color:#111;margin-bottom:0}.h1-container{background-image:var(--logoImageUrl);background-size:2.5em 2.5em;background-repeat:no-repeat;background-position:0% 60%;padding-left:2.8em;margin-bottom:10px}.home-page .h1-container,.error-boundary .h1-container{background-image:url(/egift_logo_1200.jpg);background-position:0% 55%;margin-bottom:0}.home-page h1,.error-boundary h1{background-repeat:no-repeat;padding-top:5px;padding-bottom:5px}.index-container,.input-form,.confirm-form{color:#111;max-width:800px;margin:0 auto;background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 6px #0000001a;font-size:.875rem}.index-container h2{margin-bottom:15px}.index-container p,dl,ul{font-size:1.2rem}.index-container ul,dl{margin:0}.index-container dt{font-weight:700;margin-bottom:5px;font-size:.8rem;color:#444}.index-container dd{margin:0 0 20px}.index-container ul{list-style:none;padding:0;margin:0 0 30px}.index-container ul .quantity{font-size:1rem}.input-form{display:grid;grid-template-columns:1fr 1fr;gap:5px}form div{display:flex;flex-direction:column;margin-bottom:5px}form div.full-width{grid-column:span 2}label{display:block;font-weight:700;margin-bottom:3px}select{appearance:none;-webkit-appearance:none;-moz-appearance:none}input,select{height:44px}.button,input,select,button{width:100%;padding:10px;margin:5px 0;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:.875rem}.button,button{background-color:var(--primaryButtonColor);color:#fff;border:none;cursor:pointer;grid-column:span 2;transition:filter .2s ease}.button:hover,button:hover{filter:brightness(80%)}.button[disabled],button[disabled]{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.8}.button{text-decoration:none;text-align:center}.notice-message{background-color:#fce;padding:0 1em;border-radius:4px}.message-container{max-width:840px;margin:0 auto 20px;padding:10px;border-radius:4px;text-align:center}.success-message{color:green;font-weight:700;font-size:.875rem;background-color:#d4edda;border:1px solid #c3e6cb;padding:10px;border-radius:4px}.confirm-container{max-width:800px;margin:0 auto;padding:20px}.confirm-container h1{text-align:center;margin-bottom:30px;font-size:1.5rem}.confirm-container{background:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px}.confirm-container .notice-message{padding:1px 1em;margin:20px 0}.confirm-item{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.confirm-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.confirm-label{font-weight:700;color:#666;margin-bottom:5px;font-size:.875rem}.confirm-value{font-size:1rem;line-height:1.5}.address2{display:block;margin-top:5px}.confirm-form{box-shadow:none;padding:0}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%}.back-button{background-color:#6c757d}.back-button:hover{background-color:#5a6268}.complete-container p{text-align:center}.complete-link{text-align:center;margin-top:2em}.zip-input{display:flex;align-items:center;gap:8px}.loading-spinner{display:block;color:#666;font-size:.9em}.loading-spinner:before{content:"🔄 "}.error-message{display:block;color:#d32f2f;font-size:.9em}.error-message:before{content:"❌ "}input:disabled{background-color:#f5f5f5;cursor:wait}
