:root{
  --nt-bg:#FBF6F1;
  --nt-surface:#FFFFFF;
  --nt-terra:#93492C;
  --nt-terra-light:#F1DFD3;
  --nt-terra-dark:#6E351F;
  --nt-text:#3A2A22;
  --nt-text-sec:#8C7768;
  --nt-border:#E7DACD;
  --nt-danger:#B3261E;
}

*{box-sizing:border-box;}

body{
  margin:0;
  background:var(--nt-bg);
  font-family:'Montserrat',sans-serif;
  color:var(--nt-text);
  min-height:100vh;
}

#app{
  max-width:480px;
  margin:0 auto;
  padding:1.25rem 1.25rem 3rem;
}

.state-message{
  text-align:center;
  padding:3rem 1.5rem;
  color:var(--nt-text-sec);
  font-size:14px;
}

.eyebrow{
  margin:0 0 2px;
  font-size:11.5px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--nt-text-sec);
}

.topbar h1{
  margin:0 0 1.2rem;
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:24px;
  color:var(--nt-terra-dark);
}

.btn-primary{
  background:var(--nt-terra-dark);
  color:#fff;
  border:none;
  border-radius:10px;
  padding:12px;
  font-size:14px;
  font-family:'Montserrat',sans-serif;
  font-weight:500;
  cursor:pointer;
}
.btn-primary:active{opacity:0.85;}

.btn-secondary{
  background:#fff;
  color:var(--nt-text-sec);
  border:1px solid var(--nt-border);
  border-radius:10px;
  padding:12px;
  font-size:14px;
  font-family:'Montserrat',sans-serif;
  font-weight:500;
  cursor:pointer;
}

.btn-full{width:100%;}

.section-title{
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:16px;
  color:var(--nt-terra-dark);
  margin:1.5rem 0 0.75rem;
}

.entry-card{
  background:var(--nt-surface);
  border:1px solid var(--nt-border);
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.entry-info{font-size:13.5px;}
.entry-info .entry-type{font-weight:500;color:var(--nt-terra-dark);}
.entry-info .entry-detail{color:var(--nt-text-sec);font-size:12.5px;margin-top:2px;}

.entry-edit{
  background:none;
  border:1px solid var(--nt-border);
  border-radius:8px;
  padding:6px 10px;
  font-size:12.5px;
  color:var(--nt-text-sec);
  cursor:pointer;
  font-family:'Montserrat',sans-serif;
}

.empty-hint{color:var(--nt-text-sec);font-size:13.5px;text-align:center;padding:1.5rem 0;}

/* Volet (bottom sheet) */
.sheet-overlay{
  position:fixed;
  inset:0;
  background:rgba(58,42,34,0.35);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  z-index:50;
}

.sheet{
  background:var(--nt-bg);
  width:100%;
  max-width:480px;
  border-radius:18px 18px 0 0;
  padding:0.9rem 1.5rem 1.5rem;
  max-height:90vh;
  overflow-y:auto;
}

.sheet-handle{
  width:36px;height:4px;
  background:var(--nt-border);
  border-radius:2px;
  margin:0 auto 14px;
}

.sheet-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:1.1rem;
}

.sheet-header h2{
  margin:0;
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:21px;
  color:var(--nt-terra-dark);
}

.icon-btn{
  background:none;
  border:none;
  color:var(--nt-text-sec);
  cursor:pointer;
  font-size:18px;
  padding:4px;
}

label{
  display:block;
  font-size:12px;
  color:var(--nt-text-sec);
  margin-bottom:4px;
}

input,select,textarea{
  font-family:'Montserrat',sans-serif;
  font-size:14px;
  color:var(--nt-text);
  background:#fff;
  border:1px solid var(--nt-border);
  border-radius:10px;
  padding:9px 11px;
  width:100%;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--nt-terra);}

.row-2{display:flex;gap:10px;margin-bottom:1.1rem;}
.row-2 > div{flex:1;}

.type-selector{display:flex;gap:8px;margin-bottom:1.1rem;}

.type-btn{
  flex:1;
  padding:12px 6px;
  border-radius:12px;
  border:1px solid var(--nt-border);
  background:#fff;
  cursor:pointer;
  font-family:'Montserrat',sans-serif;
  font-size:12.5px;
  font-weight:500;
  color:var(--nt-text-sec);
}
.type-btn.active{
  border-color:var(--nt-terra);
  background:var(--nt-terra-light);
  color:var(--nt-terra-dark);
}

.card{
  background:#fff;
  border:1px solid var(--nt-border);
  border-radius:12px;
  padding:14px;
  margin-bottom:12px;
}

.timer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  font-size:13.5px;
  font-weight:500;
}

#timer-display{
  font-family:'Fraunces',serif;
  font-size:22px;
  color:var(--nt-terra-dark);
}

.hint{font-size:11.5px;color:var(--nt-text-sec);margin:8px 0 0;}

.divider{
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0 2px;
  font-size:11px;
  color:var(--nt-text-sec);
}
.divider::before,.divider::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--nt-border);
}

.manual-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  font-size:13px;
  color:var(--nt-text-sec);
}
.manual-row input{width:70px;}

.actions{display:flex;gap:10px;margin-top:1.2rem;}
.actions .btn-secondary{flex:1;}
.actions .btn-primary{flex:2;}

.form-error{
  color:var(--nt-danger);
  font-size:12.5px;
  margin:8px 0 0;
  min-height:16px;
}
