@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap');:root{--paper:#efece4;--ink:#304e48;--green:#3a5b52;--orange:#c77d56;--line:#d5d4c9;--white:#fffdf7;--muted:#75817b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font:14px 'DM Sans',sans-serif;color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}header{height:72px;display:flex;align-items:center;padding:0 5vw;gap:50px;border-bottom:1px solid var(--line)}.brand{font-size:24px;color:var(--green)}.brand strong,footer strong{font:700 24px Fraunces,Georgia,serif}.brand span,footer strong span{color:var(--orange)}nav{display:flex;gap:25px;font-size:12px;font-weight:700}nav a:hover{text-decoration:underline}header>span{margin-left:auto;font-size:10px;letter-spacing:1.3px;color:#9a9387;font-weight:700}.hero{display:grid;grid-template-columns:1fr .85fr;max-width:1540px;margin:auto;min-height:460px}.hero-text{padding:83px 5vw 68px}.eyebrow,.kicker{font-size:10px;letter-spacing:1.8px;color:#b37558;font-weight:700}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500}h1{font-size:clamp(55px,5.9vw,90px);letter-spacing:-2.6px;line-height:1.07;margin:20px 0}h1 em,h2 em{color:#b96e4b;font-weight:500}.hero-text p{font-size:16px;line-height:1.7;color:#61736c;max-width:490px;margin:0 0 26px}.cta,.create-btn{background:var(--ink);color:#fff;padding:15px 19px;border:0;display:inline-flex;justify-content:space-between;gap:55px;font-weight:700;font-size:12px}.cta:hover,.create-btn:hover{background:#466c62}.cta span,.create-btn span{font-size:18px;font-weight:400}.micro{font-size:9px;letter-spacing:1px;color:#9e9b8b;margin-top:23px;font-weight:700}.box-art{background:#d9e0d3;position:relative;display:grid;place-items:center;overflow:hidden}.art-back{position:absolute;width:500px;height:500px;border:1px solid #b4c3b2;border-radius:50%}.box-art:before{content:'';position:absolute;width:300px;height:300px;border:1px solid #b4c3b2;border-radius:50%}.art-box{position:relative;width:295px;height:290px;background:#cda87a;transform:rotate(5deg);box-shadow:16px 20px 0 #95a8916e;padding:35px;display:flex;flex-direction:column}.art-tape{position:absolute;background:#e0cda7;opacity:.8;width:56px;height:100%;top:0;left:50%;transform:translateX(-50%)}.art-number,.art-room,.art-bottom,.art-box strong{position:relative}.art-number{font-size:12px;letter-spacing:1.4px;font-weight:700}.art-room{font-size:10px;background:var(--ink);color:#fff;padding:5px 10px;align-self:flex-start;letter-spacing:1.2px;margin-top:13px}.art-box strong{font:500 39px Fraunces,Georgia,serif;line-height:1.1;margin-top:25px;color:#263f38}.art-bottom{font-size:9px;letter-spacing:1px;margin-top:auto}.art-caption{position:absolute;bottom:20px;right:22px;font:500 17px Fraunces,Georgia,serif;color:#607c68}.tool{background:#e3e7df;padding:65px 5vw 85px}.tool-intro,.app{max-width:1460px;margin:auto}.tool-intro h2,.how h2{font-size:clamp(39px,4vw,64px);letter-spacing:-1.5px;margin:13px 0}.tool-intro p{color:#738078;line-height:1.6;margin:0 0 24px}.app{display:grid;grid-template-columns:320px 1fr;gap:17px;align-items:start}.panel,.main-panel{background:var(--white);border:1px solid #cbd5ca;border-radius:3px}.create{padding:23px}.create h3{font-size:26px;margin:0 0 19px}.create label{display:block;font-size:11px;font-weight:700;margin:15px 0 7px}.create input,.create textarea,.search input{width:100%;border:1px solid #cdd6cc;background:#fff;padding:10px;border-radius:2px;outline:none}.create input:focus,.create textarea:focus,.search input:focus{border-color:var(--green);outline:1px solid var(--green)}.create textarea{resize:vertical}.create-btn{width:100%;margin-top:20px}.error{background:#fff0e8;color:#a33c2c;font-size:11px;padding:9px}.aside-note{border-top:1px solid #dde3da;margin-top:24px;padding-top:18px;font-size:11px;color:#738079}.aside-note strong{color:var(--green)}.aside-note p{line-height:1.5;margin:6px 0 0}.main-panel{padding:25px;min-height:480px}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center}.toolbar span{font-size:9px;letter-spacing:1.4px;color:#aa7052;font-weight:700}.toolbar h3{margin:4px 0;font-size:30px}.search input{min-width:225px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e1e4dc;border-bottom:1px solid #e1e4dc;margin:17px 0 20px}.stats div{padding:14px 10px;border-right:1px solid #e1e4dc}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{font:500 27px Fraunces,Georgia,serif;display:block}.stats span{font-size:9px;letter-spacing:1.3px;color:#919d92;font-weight:700}.box-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.box-card{border:1px solid #d9e0d6;background:#fafcf9;padding:15px}.box-card.packed{background:#f0f4ef}.box-top{display:flex;gap:9px;align-items:center}.box-number{font:500 22px Fraunces,Georgia,serif;background:#e4ece2;padding:5px 8px}.box-top div{flex:1;min-width:0}.box-top small{font-size:9px;letter-spacing:1.2px;color:#a1694c;font-weight:700}.box-top strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.box-top button{border:0;background:none;color:#ae9a8b;font-size:17px}.box-items{color:#677a70;font-size:11px;line-height:1.55;min-height:35px;margin:11px 0}.box-bottom{border-top:1px solid #dce3da;padding-top:11px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7a887b}.box-bottom label{display:flex;align-items:center;gap:5px;cursor:pointer}.box-bottom button{border:0;background:none;color:#a06146;font-weight:700;font-size:10px}.empty{text-align:center;padding:45px 10px;color:#8b9a8b}.empty>span{font-size:50px}.empty h3{font-size:25px;color:var(--ink);margin:5px}.empty p{font-size:12px}.actions{border-top:1px solid #dde3db;margin-top:20px;padding-top:15px;display:flex;gap:8px}.actions button{border:1px solid #9cae9e;background:#fff;color:var(--ink);padding:10px 12px;font-size:11px;font-weight:700}.actions button:hover{background:#edf4ee}.how{padding:90px 5vw;max-width:1530px;margin:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.steps article{border-top:1px solid #cdd2c8;padding-top:17px}.steps article span{font:500 25px Fraunces,Georgia,serif;color:#bf7854}.steps h3{font-size:24px;margin:16px 0 4px}.steps p{color:#78877c;line-height:1.65;max-width:320px}.faq{border-top:1px solid #d2d7cd;max-width:1380px;margin:auto;padding:50px 5vw 80px}.faq details{border-bottom:1px solid #d2d7cd;padding:18px 0}.faq summary{font-weight:700;cursor:pointer}.faq p{line-height:1.7;color:#78877c}footer{background:var(--ink);display:flex;align-items:center;gap:27px;color:#b7cbbd;padding:26px 5vw;font-size:11px}footer strong{color:#fff}footer span:last-child{margin-left:auto}#label-sheets{display:none}.print-label{border:2px solid #263f38;padding:10mm;min-height:65mm;break-inside:avoid}.print-label small{display:block;font-size:10pt;letter-spacing:1.5pt}.print-label h3{font-size:26pt;margin:4mm 0}.print-label p{font-size:11pt}.print-label strong{font:500 18pt Fraunces,Georgia,serif}@media(max-width:900px){.hero{grid-template-columns:1fr}.box-art{min-height:360px}.app{grid-template-columns:1fr}}@media(max-width:600px){header{height:62px;gap:14px}nav{margin-left:auto;gap:12px;font-size:11px}header>span{display:none}.hero-text{padding:60px 5vw}.tool{padding:52px 4vw}.main-panel{padding:14px}.box-list{grid-template-columns:1fr}.toolbar{display:block}.search input{width:100%;margin-top:10px}.actions{flex-direction:column}.steps{grid-template-columns:1fr}.how{padding:65px 5vw}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}}@media print{header,.hero,.tool-intro,.create,.toolbar .search,.actions,.how,.faq,footer,.aside-note{display:none!important}body,.tool,.main-panel{background:#fff}.tool{padding:0}.app{display:block}.main-panel{border:0}.box-card{break-inside:avoid}.print-label{display:block}.print-label{width:48%;display:inline-block;margin:1%;vertical-align:top}.print-label p{max-height:20mm;overflow:hidden}body.labels .app{display:none}body.labels #label-sheets{display:block}body.inventory #label-sheets{display:none}@page{size:A4;margin:12mm}}
.private-option{display:flex;align-items:center;gap:7px;font-size:12px;color:#49675f;margin:18px 0 0}.private-option input{accent-color:#3a5b52}.clear-data{background:transparent;border:0;border-bottom:1px solid #8ba49a;color:#45685c;font-size:11px;padding:6px 0;cursor:pointer}.practical{max-width:1400px;margin:auto;padding:40px 5vw 70px;border-top:1px solid #d8d3c9}.practical h2{font-size:clamp(32px,4vw,55px);margin:16px 0}.practical p{max-width:800px;line-height:1.8;color:#64756f}@media print{.private-option,.clear-data,.practical{display:none!important}}


/* Usability pass: bring the working area into view sooner. */
@media screen {
  html { scroll-padding-top: 20px; }
  :where(a,button,input,select,textarea):focus-visible { outline: 3px solid #b66a48; outline-offset: 3px; }
  .hero h1 { font-size: clamp(46px,5.1vw,66px); line-height: 1.04; }
  .hero p { margin-bottom: 19px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(34px,3.8vw,52px); }
  .tool-intro,.section-intro,.intro,.tool-heading { margin-bottom: 19px; }
}
@media screen and (max-width:700px) {
  .hero h1 { font-size: clamp(42px,11vw,50px); }
  .hero-art,.hero-pattern,.hero-visual,.box-art,.hero .art { display: none; }
  .hero-copy,.hero-text,.hero-left,.hero>div:first-child { padding: 34px 5vw 28px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(32px,8.2vw,40px); }
  .tool,.planner,.tool-wrap { padding-top: 30px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

@media screen and (min-width:701px){.hero{min-height:0}.hero-text{padding:32px 5vw 25px}.box-art{min-height:340px}.tool{padding-top:27px}}@media screen and (max-width:700px){.hero{min-height:0}}
