﻿body{
    margin:0;
    background:#f5f8f4;
    color:#182118;
    font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .container{
    width:min(1180px, calc(100% - 32px));
    margin:0 auto;
  }

  .topbar{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(245,248,244,.96);
    border-bottom:1px solid #d9e4d9;
    backdrop-filter:blur(12px);
  }

  .topbar-inner{
    min-height:86px;
    display:flex;
    align-items:center;
    gap:18px;
    padding:10px 0;
  }

  .brand{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    text-decoration:none;
  }

  .brand-logo{
    display:block;
    width:auto;
    max-width:260px;
    max-height:58px;
    object-fit:contain;
  }

  .topbar-info{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px 12px;
    min-width:0;
    flex:1 1 auto;
  }

  .topbar-info-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:8px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid #d9e4d9;
    box-shadow:0 8px 24px rgba(16,24,16,.06);
    color:#182118;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
  }

  .topbar-info-item strong{
    color:#1f5a23;
    font-weight:800;
  }

  .page-shell{
    padding:26px 0 56px;
  }

  .app-layout{
    display:grid;
    grid-template-columns:280px minmax(0, 1fr);
    gap:28px;
    align-items:start;
  }

  .sidebar{
    position:sticky;
    top:112px;
  }

  .sidebar-inner{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .sidebar-group{
    display:flex;
    flex-direction:column;
    gap:6px;
  }

  .sidebar-label{
    font-size:11px;
    font-weight:800;
    color:#667267;
    text-transform:uppercase;
    letter-spacing:.08em;
    padding:0 4px 4px;
  }

  .sidebar-link{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:14px;
    font-weight:700;
    color:#667267;
    text-decoration:none;
    transition:all .2s ease;
  }

  .sidebar-link:hover,
  .sidebar-link.active{
    background:#fff;
    color:#182118;
    box-shadow:0 8px 22px rgba(16,24,16,.05);
  }

  .sidebar-link.active::before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    bottom:8px;
    width:4px;
    border-radius:999px;
    background:#2e7d32;
  }

  .sidebar-badge{
    width:34px;
    height:34px;
    min-width:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#eef5ee;
    border:1px solid #d9e4d9;
    color:#2e7d32;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
  }

  .sidebar-link.active .sidebar-badge{
    background:#2e7d32;
    color:#fff;
    border-color:#2e7d32;
  }

  .section{
    margin-bottom:24px;
  }

  .panel{
    background:#fff;
    border:1px solid #d9e4d9;
    border-radius:18px;
    box-shadow:0 16px 36px rgba(19,44,21,.08);
  }

  .panel-large{
    padding:22px;
  }

  .section-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
  }

  .section-header h2{
    margin:0 0 8px;
    font-size:24px;
    line-height:1.15;
  }

  .section-header p{
    margin:0;
    color:#667267;
  }

  .quick-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
  }

  .quick-link{
    display:block;
    min-width:0;
    padding:16px;
    border-radius:14px;
    border:1px solid #d9e4d9;
    background:#fff;
    color:#182118;
    text-decoration:none;
    box-shadow:0 10px 24px rgba(16,24,16,.05);
  }

  .quick-link strong{
    display:block;
    margin-bottom:6px;
    color:#1f5a23;
    font-size:15px;
  }

  .quick-link span{
    display:block;
    color:#667267;
    font-size:13px;
    line-height:1.45;
  }

  .footer{
    padding:24px 0 36px;
    color:#667267;
    font-size:13px;
  }

  .footer-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-top:1px solid #d9e4d9;
    padding-top:18px;
  }

  @media (max-width:1100px){
    .app-layout{
      grid-template-columns:1fr;
    }

    .sidebar{
      position:relative;
      top:auto;
    }

    .sidebar-inner{
      display:block;
      overflow-x:auto;
      white-space:nowrap;
      padding-bottom:4px;
    }

    .sidebar-group{
      display:flex;
      flex-direction:row;
      gap:8px;
    }

    .sidebar-label{
      display:none;
    }

    .sidebar-link{
      flex:0 0 auto;
    }
  }

  @media (max-width:760px){
    .topbar-inner{
      align-items:flex-start;
      flex-direction:column;
    }

    .topbar-info{
      width:100%;
    }

    .topbar-info-item{
      border-radius:14px;
      white-space:normal;
    }

    .quick-grid{
      grid-template-columns:1fr;
    }

    .footer-box{
      flex-direction:column;
      align-items:flex-start;
    }
  }

  .dashboard-page{
    min-width:0;
  }

  .dashboard-page .section{
    padding-top:0;
  }

  .dashboard-page .section + .section{
    padding-top:4px;
  }

  .dashboard-sidebar{
    min-width:0;
  }

  .dashboard-main{
    min-width:0;
  }

  .dashboard-main > .section:first-child{
    padding-top:0;
  }

  .platform-intro{
    display:grid;
    grid-template-columns:minmax(0, 1.12fr) minmax(300px, 0.88fr);
    gap:16px;
    align-items:stretch;
    margin-bottom:16px;
  }

  .platform-intro-main{
    min-width:0;
  }

  .platform-intro-side{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:16px;
  }

  .operating-status-wrap{
    margin-bottom:16px;
  }

  .operating-status-banner{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px;
    border-radius:22px;
    border:1px solid var(--border);
    background:linear-gradient(180deg,#ffffff 0%, #f7fbf7 100%);
    box-shadow:var(--shadow-soft);
  }

  .operating-status-banner[data-mode="open"]{
    border-color:#d9e9da;
    background:linear-gradient(180deg,#f8fff8 0%, #edf8ee 100%);
  }

  .operating-status-banner[data-mode="open"] .operating-status-title{
    color:#1f6e2a;
  }

  .operating-status-banner[data-mode="open"] .operating-status-text{
    color:#355a39;
  }

  .operating-status-banner[data-mode="closed"]{
    border-color:#e7bcbc;
    background:linear-gradient(180deg,#fff1f1 0%, #fbe3e3 100%);
  }

  .operating-status-banner[data-mode="closed"] .operating-status-title{
    color:#b42318;
  }

  .operating-status-banner[data-mode="closed"] .operating-status-text{
    color:#7a1f1f;
  }

  .operating-status-banner[data-mode="vacation"]{
    border-color:#f1dfba;
    background:linear-gradient(180deg,#fffaf1 0%, #fef4df 100%);
  }

  .operating-status-main{
    flex:1;
    min-width:0;
  }

  .operating-status-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#446046;
    margin-bottom:8px;
  }

  .operating-status-title{
    margin:0 0 6px;
    font-size:26px;
    line-height:1.08;
    color:var(--text);
  }

  .operating-status-text{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
  }

  .operating-status-meta{
    margin-top:12px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .operating-meta-pill{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:6px 11px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    background:#ffffff;
    border:1px solid #dde7dd;
    color:#304230;
  }

  .operating-admin-box{
    width:min(300px, 100%);
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(40,65,40,.08);
  }

  .operating-admin-title{
    margin:0;
    font-size:13px;
    font-weight:800;
    color:#253225;
  }

  .operating-admin-text{
    margin:0;
    font-size:12px;
    line-height:1.45;
    color:#607060;
  }

  .operating-admin-actions{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
  }

  .operating-admin-actions .btn{
    min-height:38px;
    padding:8px 10px;
    font-size:12px;
    font-weight:800;
    border-radius:12px;
  }

  .dashboard-admin-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
    padding:12px 14px;
    border-radius:16px;
    background:#f8fbf8;
    border:1px solid #dde7dd;
  }

  .dashboard-admin-row strong{
    display:block;
    font-size:14px;
    margin-bottom:4px;
    color:var(--text);
  }

  .dashboard-admin-row span{
    color:#647264;
    font-size:13px;
  }

  .dashboard-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .dashboard-status-note{
    margin-top:10px;
    padding:12px 14px;
    border-radius:14px;
    background:#f8fbf8;
    border:1px solid #dde7dd;
    color:#425442;
    font-size:13px;
    line-height:1.5;
  }

  .dashboard-status-note.is-closed{
    background:#fff7f7;
    border-color:#f0d3d3;
    color:#7b3f3f;
  }

  .dashboard-status-note.is-vacation{
    background:#fffaf1;
    border-color:#f1dfba;
    color:#7a5b16;
  }

  .empty-box.is-operating-override{
    border:1px solid #e7d3a6;
    background:#fffaf1;
    color:#695019;
  }

  .module-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
  }

  .team-management-grid{
    display:grid;
    grid-template-columns:minmax(320px, 0.95fr) minmax(0, 1.05fr);
    gap:16px;
  }

  .team-form-card,
  .team-list-card{
    border:1px solid var(--border);
    border-radius:20px;
    background:linear-gradient(180deg,#ffffff 0%, #f9fcf9 100%);
    padding:18px;
  }

  .team-form-card h3,
  .team-list-card h3{
    margin:0 0 8px;
    font-size:20px;
  }

  .team-lead{
    margin:0 0 16px;
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
  }

  .team-form{
    display:grid;
    gap:12px;
  }

  .team-field{
    display:grid;
    gap:6px;
  }

  .team-field label{
    font-size:13px;
    font-weight:800;
    color:var(--text);
  }

  .team-field input,
  .team-field select{
    width:100%;
    min-height:44px;
    border-radius:12px;
    border:1px solid #d8e3d8;
    background:#fff;
    padding:10px 12px;
    font:inherit;
    color:var(--text);
  }

  .team-field small{
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
  }

  .team-form-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
  }

  .team-status{
    min-height:20px;
    margin:0;
    font-size:13px;
    font-weight:700;
    color:#456145;
  }

  .team-status.is-error{
    color:#b42318;
  }

  .team-list{
    display:grid;
    gap:10px;
  }

  .team-user-card{
    border:1px solid var(--border);
    border-radius:16px;
    background:#fff;
    padding:14px;
    display:grid;
    gap:10px;
  }

  .team-user-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
  }

  .team-user-head strong{
    display:block;
    font-size:16px;
    line-height:1.2;
  }

  .team-user-head span{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
  }

  .team-user-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .team-meta-pill{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid #dbe6db;
    background:#f7fbf7;
    color:#395239;
    font-size:12px;
    font-weight:700;
  }

  .team-empty{
    border:1px dashed #d8e3d8;
    border-radius:16px;
    background:#fbfdfb;
    padding:18px;
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
  }

  .feature-card{
    min-height:100%;
  }

  .feature-card h3,
  .feature-card p{
    margin:0;
  }

  .task-list{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .task-card{
    display:flex;
    flex-direction:column;
    gap:16px;
    align-items:stretch;
    padding:22px;
    border:1px solid var(--border);
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15, 23, 15, 0.06);
    overflow:hidden;
  }

  .task-top{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    align-items:start;
  }

  .task-bottom{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .task-top-main,
  .task-main{
    flex:1 1 320px;
    min-width:220px;
    width:100%;
    min-width:0;
  }

  .task-check{
    width:26px;
    height:26px;
    border-radius:999px;
    display:grid;
    place-items:center;
    font-weight:800;
    font-size:12px;
    background:#edf6ed;
    color:#255f2b;
    flex-shrink:0;
  }

  .task-check.is-failed{
    background:#fff1f1;
    color:#b42318;
  }

  .task-check.is-inactive{
    background:#f1f3f1;
    color:#788678;
  }

  .task-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
  }

  .task-top-status{
    margin-top:10px;
    display:flex;
    align-items:center;
    gap:8px;
  }

  .task-title-wrap{
    min-width:0;
  }

  .task-title-wrap h4{
    margin:0;
    color:var(--text);
    font-size:19px;
    line-height:1.22;
    word-break:normal;
    overflow-wrap:anywhere;
  }

  .task-type-label{
    margin:2px 0 0;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--muted);
  }

  .task-description{
    margin:0;
    color:var(--muted);
    line-height:1.55;
    font-size:14px;
    word-break:break-word;
  }

  .task-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .task-pill{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:5px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    background:#f7faf7;
    border:1px solid #dde7dd;
    color:#425442;
    max-width:100%;
    word-break:break-word;
  }

  .task-pill.is-status{
    color:#2356d8;
    border-color:#cbd6ff;
    background:#f4f6ff;
  }

  .task-guide-toggle{
    margin-top:2px;
    padding:0;
    border:none;
    background:none;
    color:#1f7a31;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:8px;
  }

  .task-guide-toggle:hover{
    text-decoration:underline;
  }

  .task-lower{
    margin-top:0;
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .task-comment-box{
    padding:12px;
    border-radius:16px;
    border:1px solid #d9e4d9;
    background:#f9fbf9;
  }

  .task-comment-box label{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    font-weight:700;
    color:#506150;
  }

  .task-comment{
    width:100%;
    min-height:42px;
    border-radius:12px;
    border:1px solid #d4dfd4;
    background:#fff;
    padding:0 12px;
    font:inherit;
    color:#182118;
    outline:none;
  }

  .task-comment:focus{
    border-color:#9fc49f;
    box-shadow:0 0 0 3px rgba(46, 125, 50, 0.08);
  }

  .task-guide-box{
    display:none;
    padding:14px;
    border-radius:16px;
    border:1px solid #d9e4d9;
    background:#f8fbf8;
  }

  .task-guide-box.is-open{
    display:block;
  }

  .task-guide-box h5{
    margin:0 0 10px;
    font-size:14px;
    color:#1f2c1f;
  }

  .task-guide-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .task-guide-item{
    padding:12px;
    border-radius:12px;
    border:1px solid #dde7dd;
    background:#fff;
    min-width:0;
  }

  .task-guide-item strong{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    color:#304230;
  }

  .task-guide-item span,
  .task-guide-item div{
    color:#5f6f60;
    font-size:13px;
    line-height:1.5;
    word-break:break-word;
  }

  .task-guide-list{
    margin:0;
    padding-left:18px;
    color:#5f6f60;
    font-size:13px;
    line-height:1.55;
  }

  .task-guide-list li + li{
    margin-top:4px;
  }

  .task-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    flex:1 1 320px;
    min-width:280px;
    min-width:0;
    width:100%;
    align-self:start;
  }

  .task-action-btn{
    width:100%;
    min-height:60px;
    border:none;
    border-radius:14px;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
    padding:11px 13px;
    white-space:normal;
    line-height:1.25;
    text-align:center;
    word-break:break-word;
  }

  .task-action-btn .btn-title{
    display:block;
  }

  .task-action-btn .btn-subtext{
    display:block;
    margin-top:4px;
    font-size:11px;
    font-weight:700;
    line-height:1.25;
    opacity:.82;
  }

  .task-action-btn:hover:not(:disabled){
    transform:translateY(-1px);
  }

  .task-action-btn:disabled{
    cursor:not-allowed;
    opacity:.7;
  }

  .task-action-btn.complete{
    background:#3a9938;
    color:#fff;
    box-shadow:0 8px 18px rgba(58, 153, 56, 0.16);
  }

  .task-action-btn.not-used{
    background:#e9ede8;
    color:#1f2b1f;
  }

  .task-action-btn.missing{
    background:#f3e6cf;
    color:#2b2418;
  }

  .task-action-btn.deviation{
    background:#efd9dc;
    color:#34181c;
  }

  .task-camera-btn{
    width:100%;
    min-height:60px;
    border:1px solid #cfe0cf;
    border-radius:14px;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
    padding:11px 13px;
    white-space:normal;
    line-height:1.25;
    text-align:center;
    word-break:break-word;
    background:#eef6ff;
    color:#1c3f6e;
  }

  .task-camera-btn:hover:not(:disabled){
    transform:translateY(-1px);
  }

  .task-actions-note{
    grid-column:1 / -1;
    text-align:center;
    color:#718171;
    font-size:12px;
    line-height:1.4;
    padding:0 4px;
  }

  .hidden-for-non-admin{
    display:none !important;
  }

  body.mobile-override-active .hero-actions{
    display:none !important;
  }

  @media (max-width: 1200px){
    .platform-intro,
    .dashboard-grid,
    .hq-grid{
      grid-template-columns:1fr;
    }

    .module-grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 1100px){
    .task-top{
      gap:12px;
    }

    .task-top-main{
      flex-basis:260px;
    }

    .task-actions{
      flex-basis:280px;
      min-width:240px;
    }
  }

  @media (max-width: 860px){
    .operating-status-banner{
      flex-direction:column;
    }

    .team-management-grid{
      grid-template-columns:1fr;
    }

    .operating-admin-box{
      width:100%;
    }

    .operating-status-title{
      font-size:23px;
    }

    .dashboard-admin-row{
      flex-direction:column;
      align-items:flex-start;
    }

    .dashboard-admin-actions{
      width:100%;
    }

    .dashboard-admin-actions .btn{
      flex:1 1 120px;
    }

    .module-grid{
      grid-template-columns:1fr;
    }

    .task-guide-grid{
      grid-template-columns:1fr;
    }
  }

  @media (max-width: 760px){
    .platform-intro{
      gap:14px;
    }

    .hero{
      padding-top:0;
    }

    .operating-status-banner{
      padding:15px;
      border-radius:18px;
    }

    .operating-status-title{
      font-size:21px;
    }

    .operating-status-text{
      font-size:14px;
    }

    .operating-admin-actions{
      grid-template-columns:1fr;
    }

    .operating-meta-pill{
      width:100%;
      justify-content:flex-start;
    }

    .hero-visual-wrap,
    .hero-floating-mid,
    .hero-floating-bottom{
      display:none !important;
    }

    .task-card{
      gap:14px;
      padding:16px;
      border-radius:20px;
    }

    .task-top{
      flex-direction:column;
      flex-wrap:nowrap;
      gap:12px;
    }

    .task-top-main,
    .task-actions{
      flex:1 1 auto;
      min-width:0;
    }

    .task-title-wrap h4{
      font-size:17px;
    }

    .task-actions{
      gap:6px;
    }

    .task-action-btn{
      min-height:48px;
      padding:8px 10px;
      font-size:12px;
    }

    .task-action-btn .btn-subtext{
      font-size:10px;
    }

    body.mobile-override-active .section:not(.section-keep-mobile){
      display:none !important;
    }
  }

  .haccp-print-panel{
    border:1px solid #cfe4d0;
    background:linear-gradient(180deg,#ffffff 0%, #f8fff8 100%);
  }

  .haccp-print-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    margin-top:10px;
  }

  .haccp-field{
    display:flex;
    flex-direction:column;
    gap:6px;
  }

  .haccp-field label{
    font-size:12px;
    font-weight:700;
    color:#2f4630;
  }

  .haccp-field input,
  .haccp-field textarea{
    width:100%;
    border:1px solid #cddfce;
    background:#f4fbf5;
    border-radius:12px;
    padding:10px 12px;
    color:#1f2d1f;
    font-size:14px;
    line-height:1.45;
  }

  .haccp-field textarea{
    min-height:150px;
    resize:vertical;
  }

  .haccp-table-wrap{
    margin-top:12px;
    overflow-x:auto;
  }

  .haccp-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid #ccddcc;
    background:#fff;
  }

  .haccp-table th,
  .haccp-table td{
    border:1px solid #d9e8d9;
    padding:9px 10px;
    text-align:left;
    vertical-align:top;
    font-size:13px;
    line-height:1.5;
  }

  .haccp-table th{
    background:#edf8ee;
    color:#274729;
    font-weight:800;
  }

  .haccp-actions{
    margin-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
  }

  .haccp-print-btn{
    background:#1f8f43;
    color:#fff;
    border:none;
    border-radius:14px;
    padding:14px 20px;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    min-height:54px;
    box-shadow:0 14px 26px rgba(31, 143, 67, 0.24);
  }

  .haccp-print-btn:hover{
    background:#177338;
  }

  .haccp-status-text{
    margin:0;
    font-size:12px;
    color:#3f5c40;
  }

  .haccp-guidance{
    margin-top:14px;
    padding:12px 14px;
    border-radius:12px;
    border:1px solid #d7e5d7;
    background:#f9fcf9;
    font-size:13px;
    color:#2d4a2f;
  }

  .location-switcher{
    min-height:30px;
    border:1px solid #d5e3d5;
    border-radius:10px;
    background:#fff;
    color:#1f301f;
    font-size:12px;
    font-weight:700;
    padding:4px 8px;
  }

  @media (max-width: 900px){
    .haccp-print-grid{
      grid-template-columns:1fr;
    }

    .haccp-actions{
      align-items:flex-start;
      flex-direction:column;
    }
  }

  @media print{
    .topbar,
    .dashboard-sidebar,
    .footer,
    .section:not(.haccp-print-section),
    .haccp-actions,
    .dashboard-admin-row,
    .task-list,
    .quick-grid,
    .headquarter-section{
      display:none !important;
    }

    body,
    .page-shell,
    .dashboard-main,
    .panel{
      background:#fff !important;
      box-shadow:none !important;
    }

    .dashboard-main{
      width:100% !important;
      max-width:none !important;
    }

    .haccp-print-section{
      padding:0 !important;
      margin:0 !important;
    }

    .haccp-print-panel{
      border:1px solid #000 !important;
      background:#fff !important;
    }

    .haccp-field input,
    .haccp-field textarea,
    .haccp-table,
    .haccp-table th,
    .haccp-table td{
      border-color:#000 !important;
      background:#fff !important;
      color:#000 !important;
    }
  }

