:root{
  --paper:#faf7ef;
  --ink:#1f2a24;
  --ink-soft:#52604f;
  --green:#3f6b48;
  --green-dark:#274332;
  --green-soft:#dcebe2;
  --amber:#b5762b;
  --amber-soft:#f3e7cf;
  --blue:#23628c;
  --blue-soft:#e6f1fb;
  --ok:#2f7a5c;
  --ok-soft:#dcebe2;
  --warn:#b8862b;
  --warn-soft:#f3e7cf;
  --bad:#b3432c;
  --bad-soft:#f6ddd6;
  --rule:#d7dcd3;
  --radius:10px;
}

*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;
  padding-bottom:90px;
}

.pc-hidden{display:none !important;}

/* Header */
.pc-header{background:var(--paper);border-bottom:3px solid var(--green-dark);padding:20px 0;}
.pc-header-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.pc-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0;}
.pc-wordmarks{display:flex;align-items:center;gap:10px;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:15px;color:var(--green-dark);border-left:1px solid var(--rule);border-right:1px solid var(--rule);padding:0 14px;}
.pc-wordmark-goethe{color:var(--amber);}
.pc-wordmark-sep{color:var(--rule);font-weight:400;}
.pc-header-text{flex:1;min-width:200px;}
.pc-eyebrow{font-size:11.5px;text-transform:uppercase;letter-spacing:0.1em;color:var(--amber);font-weight:700;margin-bottom:4px;}
.pc-title{font-size:28px;font-weight:800;margin:0;color:var(--green-dark);}
.pc-subtitle{color:var(--ink-soft);font-size:14px;}

/* Mission banner */
.pc-mission{background:var(--green-dark);padding:26px 0;}
.pc-mission-text{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:19px;
  color:#f2f0e6;
  text-align:center;
  max-width:720px;
  margin:0 auto;
}

.pc-main{max-width:900px;padding-top:24px;}
.pc-card{background:#fffdf8;border:1px solid var(--rule);border-radius:var(--radius);padding:22px 24px;margin-bottom:20px;}
.pc-h2{font-size:21px;font-weight:800;color:var(--green-dark);margin:2px 0 4px;}
.pc-h3{font-size:16px;font-weight:800;color:var(--green-dark);margin:0 0 10px;}
.pc-muted{color:var(--ink-soft);font-size:13.5px;}

/* Identity form */
.pc-identity{border-color:var(--green);border-width:1.5px;}
.pc-btn-primary{background:var(--green);border-color:var(--green-dark);color:#fff;font-weight:700;}
.pc-btn-primary:hover{background:var(--green-dark);color:#fff;}
.pc-btn-primary:disabled{background:#9db3a2;border-color:#9db3a2;}
.pc-btn-outline{background:#fff;border:1px solid var(--green);color:var(--green-dark);font-weight:700;}
#identityMsg .alert{margin-bottom:14px;}

/* Sensor grid */
.pc-sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0;}
.pc-sensor-card{background:var(--blue-soft);border:1px solid var(--blue);border-radius:var(--radius);padding:12px 14px;}
.pc-sensor-label{font-size:11.5px;text-transform:uppercase;letter-spacing:0.04em;color:var(--blue);font-weight:700;margin-bottom:6px;}
.pc-sensor-value{font-size:18px;font-weight:800;color:var(--ink);}
.pc-chart-wrap{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:14px;}

/* Reference table */
.pc-table th{font-size:12px;text-transform:uppercase;letter-spacing:0.03em;color:var(--green-dark);border-bottom:2px solid var(--green);}
.pc-table td{font-size:13.5px;vertical-align:middle;}
.pc-plant-thumb{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--rule);}

/* Plant picker */
.pc-plant-picker{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;}
.pc-plant-chip{
  display:flex;align-items:center;gap:8px;
  border:1.5px solid var(--rule);background:#fff;border-radius:30px;
  padding:6px 16px 6px 6px;cursor:pointer;font-weight:600;font-size:13.5px;color:var(--ink);
  transition:border-color .15s, background .15s;
}
.pc-plant-chip img{width:32px;height:32px;object-fit:cover;border-radius:50%;}
.pc-plant-chip:hover{border-color:var(--green);}
.pc-plant-chip.active{border-color:var(--green-dark);background:var(--green-soft);color:var(--green-dark);}

/* Comparison (signature element) */
.pc-comparison{margin-top:18px;border-top:1px dashed var(--rule);padding-top:16px;}
.pc-compare-row{margin-bottom:14px;}
.pc-compare-head{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:5px;}
.pc-compare-track{position:relative;height:14px;background:#eee;border-radius:7px;overflow:visible;}
.pc-compare-optimal{position:absolute;top:0;bottom:0;background:var(--green-soft);border-radius:7px;}
.pc-compare-marker{
  position:absolute;top:-4px;width:6px;height:22px;border-radius:3px;
  background:var(--ink);transform:translateX(-50%);
  transition:left .5s ease;
}
.pc-compare-marker.status-sesuai{background:var(--ok);}
.pc-compare-marker.status-mendekati{background:var(--warn);}
.pc-compare-marker.status-tidak_sesuai{background:var(--bad);}
.pc-compare-badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;}
.pc-compare-badge.status-sesuai{background:var(--ok-soft);color:var(--ok);}
.pc-compare-badge.status-mendekati{background:var(--warn-soft);color:var(--warn);}
.pc-compare-badge.status-tidak_sesuai{background:var(--bad-soft);color:var(--bad);}

.pc-recommendation{margin-top:16px;background:var(--amber-soft);border-left:4px solid var(--amber);border-radius:0 8px 8px 0;padding:14px 16px;font-size:14.5px;color:#4a3410;}

/* Missions */
.pc-autosave-note{background:var(--warn-soft);color:#5c4210;border:1px dashed var(--warn);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px;}
.pc-mission-item{margin-bottom:20px;padding-bottom:18px;border-bottom:1px dashed var(--rule);}
.pc-mission-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.pc-mission-num{font-size:12px;text-transform:uppercase;letter-spacing:0.05em;font-weight:800;color:var(--green);margin-bottom:6px;}
.pc-mission-item p{font-size:14.5px;margin-bottom:8px;}

/* Bottom bar */
.pc-bottombar{position:fixed;bottom:0;left:0;right:0;background:#fffdf8;border-top:1px solid var(--rule);box-shadow:0 -2px 10px rgba(0,0,0,.05);z-index:20;}
.pc-progress-track{height:5px;background:var(--rule);width:100%;}
.pc-progress-fill{height:100%;background:var(--green);width:0%;transition:width .4s ease;}
.pc-bottombar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;flex-wrap:wrap;}
.pc-save-status{font-size:12.5px;color:var(--ink-soft);}
.pc-save-status.is-saving{color:var(--warn);}
.pc-save-status.is-saved{color:var(--ok);}
.pc-save-status.is-error{color:var(--bad);}
.pc-bottombar-actions{display:flex;gap:8px;flex-wrap:wrap;}
.pc-bottombar-actions .btn{font-size:13px;padding:8px 14px;}

.pc-submitted-banner{background:var(--green-soft);border:1px solid var(--green);color:var(--green-dark);border-radius:8px;padding:12px 16px;font-size:14px;font-weight:700;margin-bottom:16px;}
.pc-mission-item textarea:disabled{background:#f3f1ea;color:var(--ink-soft);}

/* Article preview/edit */
.pc-article-edit label{font-size:12.5px;font-weight:700;color:var(--green-dark);margin-top:4px;}

/* Print view - hidden on screen, shown only when printing */
.pc-print-only{display:none;}
@media print{
  body *{visibility:hidden;}
  #articlePrintView, #articlePrintView *{visibility:visible;}
  #articlePrintView{
    display:block !important;
    position:absolute;top:0;left:0;width:100%;
    font-family:Georgia,"Times New Roman",serif;color:#111;padding:20px;
  }
  #articlePrintView h1{font-size:20px;text-align:center;margin-bottom:4px;}
  #articlePrintView .pc-print-meta{text-align:center;font-size:12px;color:#444;margin-bottom:18px;}
  #articlePrintView h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #999;padding-bottom:3px;margin:16px 0 6px;}
  #articlePrintView p{font-size:13px;line-height:1.6;text-align:justify;white-space:pre-line;}
  #articlePrintView table{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:6px;}
  #articlePrintView th, #articlePrintView td{border:1px solid #999;padding:4px 8px;text-align:left;}
}

@media (max-width:576px){
  .pc-title{font-size:22px;}
  .pc-mission-text{font-size:16px;}
  .pc-wordmarks{font-size:12.5px;padding:0 8px;}
}
