/* Shared Solar Studio identity. Daily report canvas and printed reports are not restyled. */
:root {
  --navy:#143d31;
  --navy2:#0e3028;
  --blue:#357d54;
  --ink:#214637;
  --muted:#6a8272;
  --line:#dfE9dc;
  --soft:#f3f7ec;
  --green:#307a4a;
}
@media screen {
  body { background:#f1f5eb;color:#224435 }
  .sidebar {
    width:clamp(370px,30vw,432px);
    background:#fffef9;border-right:1px solid #d9e6d9;
  }
  .brand { background:#fffef9;padding:22px 24px 19px;gap:11px }
  .brand-mark { height:43px;width:43px;flex:0 0 43px;background:#133c30;border-radius:13px;box-shadow:0 4px 12px #173d2928 }
  .sun-disc { border-color:#d8ef91 }
  .sun-line { border-color:#d8ef91 }
  .brand strong { color:#143d31;font-size:17px }
  .eyebrow,.section-kicker { color:#558063;letter-spacing:1.3px;font-size:9.5px }
  .studio-home {
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid #d2e4d2;background:#eff6e9;color:#36654c;
    font-size:11px;font-weight:800;border-radius:9px;min-height:37px;
    padding:0 9px;text-decoration:none;white-space:nowrap;margin-left:auto;
  }
  .studio-home:hover { background:#e0efd7 }
  .mode-nav { background:#fffef9;padding:12px 24px 10px;gap:9px }
  .mode-button { min-height:45px;border-radius:11px;font-size:12px;background:#f1f7ed;color:#4d735c;border-color:#dcebd6 }
  .mode-button.active { background:#1a4936;color:white;border-color:#1a4936;box-shadow:0 3px 10px #153b2b24 }
  .mode-button:not(.active):hover { background:#e5f0df }
  .sidebar-content { padding:23px 24px 38px }
  .intro h1 { color:#153e30;font-size:28px;letter-spacing:-1.15px }
  .intro p:not(.section-kicker) { color:#698273;font-size:12.5px;line-height:1.65;max-width:350px }
  .studio-route {
    display:flex;gap:9px;align-items:center;flex-wrap:wrap;
    background:#f0f7e7;border:1px solid #d8eac8;
    border-radius:11px;padding:11px 12px;margin-top:16px;
  }
  .studio-route b { font-size:9px;letter-spacing:1px;color:#3d7953 }
  .studio-route span { color:#2d5d42;font-size:11px;font-weight:700 }
  .mobile-preview-shortcut { display:none }
  .step { border-top-color:#e1ebde;padding-top:21px }
  .step-index { width:28px;height:28px;border-color:#c9dfbd;background:#ebf6e6;color:#3b7950;border-radius:9px }
  .step h2 { font-size:14px;color:#234b37 }
  .step-state { background:#f0f6ed;color:#527661;border-radius:8px;font-size:10px }
  .field-label,.field-grid label { color:#486754;font-size:11.5px;line-height:1.5 }
  select,input[type=text],input[type=number],input[type=date] {
    min-height:44px;padding:10px 12px;border-color:#d3e2d2;
    border-radius:10px;font-size:13px;color:#214733;
  }
  select:focus,input:focus { border-color:#7aac78;box-shadow:0 0 0 3px #93bf7c3b }
  .muted-note,.mapping-small-note { color:#647c6d;font-size:11.5px;line-height:1.6 }
  .dropzone {
    min-height:142px;padding:18px;border-color:#accfa2;background:#f4f9f0;
    border-radius:13px;
  }
  .dropzone:hover,.dropzone.dragover { border-color:#69a46e;background:#eaf5e5 }
  .dropzone.disabled,.dropzone.disabled:hover { border-color:#d0dccb;background:#f5f7f3 }
  .dropzone strong { color:#2c6748;font-size:13px }
  .dropzone span:not(.upload-icon) { color:#6b8772;font-size:11px }
  .dropzone small { color:#77927e;font-size:10px }
  .upload-icon { background:#e1efda;color:#3b8455 }
  .data-stats,.plant-editor,.mapping-upload,.mapping-new-plant,.draft-filled-preview { border-radius:11px;border-color:#d8e6d6;background:#f8fbf6 }
  .primary-button,.secondary-button { border-radius:10px;min-height:44px;font-size:12.5px;transition:background .18s,border-color .18s,transform .15s }
  .primary-button { background:#174735;color:white }
  .primary-button:not(:disabled):hover { background:#266d47;transform:translateY(-1px) }
  .secondary-button { color:#315f46;background:#eef5e9;border-color:#d6e7cf }
  .secondary-button:not(:disabled):hover { background:#dfefd9 }
  .confirm-line { color:#456e53;font-size:11.5px }
  .confirm-line input,.plant-meter-choice input,.meter-switch input { accent-color:#38824e }
  .daily-advanced summary { color:#356849;font-size:11.5px;padding:6px 0 }
  .mapping-link-row,.mapping-meter-choice,.plant-meter-choice,.meter-mode-control,.mapping-layout-choice { background:#eff6e9;border-color:#d6e9cd }
  .mapping-upload:hover { border-color:#9bbf8c;background:#eef6ea }
  .mapping-upload-icon { background:#dfefdb;color:#3f7b54 }
  .mapping-upload strong { color:#28593d }
  .mapping-upload small { color:#6f8776 }
  .sidebar-footer { background:#f9fcf7;color:#64806b;border-color:#e2ebde;gap:6px;white-space:normal }
  .sidebar-footer span:last-child { color:#3c7751;font-weight:800 }
  .sidebar-footer { display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;column-gap:8px;row-gap:5px }
  .sidebar-footer .studio-page-credit {
    grid-column:1/-1;margin:1px 0 0;text-align:center;
    font-size:9px;line-height:1.5;font-weight:500;color:#78917d;letter-spacing:.01em;
  }
  .status-dot { background:#61aa69 }
  .main-panel { background:#eef4ec }
  .topbar { background:#fffef9;border-color:#dce8dc }
  .preview-title { color:#204736 }
  .privacy-pill { background:#eff7ea;border-color:#d6e9d1;color:#4e7d55 }
  .view-toggle { border-color:#dce9d8;border-radius:9px;background:#f5f8f2;color:#567460;min-height:37px }
  .view-toggle.active { background:#e5f0db;color:#2d6a45;border-color:#c9e0bd }
  .preview-toolbar { color:#647d6b;background:#f1f6ed;border-bottom:1px solid #deead9 }
  .preview-scroll { background:linear-gradient(135deg,#e8efe7,#e0e9db) }
  .bottom-hint { background:#f7fbf5;color:#65816a;border-color:#dce8d9 }
  .mapping-workspace { background:#f0f5ee }
  .mapping-overview { background:#183f31;border-radius:17px }
  .mapping-overview p { color:#d3e5d4 }
  .mapping-card,.mapping-sheet-choice { border-color:#dce8dc;border-radius:14px;box-shadow:0 4px 17px #173d2c0b }
  .mapping-card h2,.card-head h2 { color:#24543c }
  .mapping-table th,.draft-device-table th,.identity-table th { background:#edf5e9;color:#4b7358 }
  .mapping-table td,.mapping-library-item strong { color:#285441 }
  .mapping-score.strong { background:#e8f6e6;color:#348148 }
  .mapping-stage.good { background:#276943 }
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
    outline:3px solid #a0cc73;outline-offset:2px;
  }
}
@media screen and (max-width:1100px) {
  .sidebar { width:370px }
  .studio-home { font-size:10px }
}
@media screen and (max-width:760px) {
  .app-shell { display:block;max-height:none }
  .sidebar { width:100%;max-height:none }
  .brand { padding:14px 17px }
  .brand strong { font-size:16px }
  .studio-home { min-height:39px;margin-left:auto }
  .mode-nav { padding:10px 17px;position:sticky;top:0;z-index:8;border-bottom:1px solid #e0eadb }
  .mode-button { min-height:46px }
  .sidebar-content { padding:18px 18px 26px }
  .intro h1 { font-size:26px }
  .studio-route { margin-top:13px }
  .mobile-preview-shortcut { display:inline-flex;margin-top:12px;font-size:12px;font-weight:800;color:#2f724b;text-underline-offset:3px }
  .sidebar-footer { padding:14px 17px }
  .topbar { padding:15px 17px;min-height:70px }
  .preview-toolbar { padding:11px 14px }
  .preview-scroll { padding:12px 9px 24px;overflow-x:auto }
  .paper-wrap { width:100%;min-width:0 }
  .paper-wrap.zoomed { width:940px;min-width:940px }
  .mapping-workspace { padding:12px }
  .mapping-card { padding:15px }
  .mapping-overview { padding:18px }
}
@media (prefers-reduced-motion:reduce) {
  .primary-button,.secondary-button,.dropzone { transition:none!important }
}
