.cogs-app{width:min(1180px,calc(100vw - 32px));max-width:none;position:relative;left:50%;transform:translateX(-50%);box-sizing:border-box;--blue:#183b56;--gold:#d99b34;--ink:#24323d;--line:#dfe6eb;--bg:#f5f7f9;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-family:system-ui,-apple-system,sans-serif}.cogs-app header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;background:var(--blue);color:#fff}.cogs-app header span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b9d2e3}.cogs-app header h1{font-size:25px;color:#fff;margin:3px 0}.cogs-user{text-align:right}.cogs-user small,.cogs-table small{display:block;color:#74818a}.cogs-user small{color:#b9d2e3}.cogs-logout{color:#fff!important;text-decoration:underline;text-underline-offset:2px}.cogs-logout:hover{color:#fff!important}.cogs-app nav{display:flex;gap:4px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);overflow:auto}.cogs-app nav a{padding:15px 14px;color:var(--ink);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}.cogs-app nav a.active{border-color:var(--gold);font-weight:700}.cogs-app main{padding:24px}.cogs-app section,.cogs-login{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px}.cogs-app section h2{margin-top:0;font-size:19px}.cogs-grid{display:grid;grid-template-columns:minmax(300px,38%) minmax(0,1fr);gap:20px}.cogs-form{display:grid;gap:13px}.cogs-form label,.cogs-row-form label{display:grid;gap:5px;font-size:13px;font-weight:700}.cogs-form input,.cogs-form select,.cogs-form textarea,.cogs-row-form input,.cogs-row-form select{width:100%;min-height:42px;border:1px solid #b8c4cc;border-radius:6px;padding:8px}.cogs-form textarea{min-height:75px}.cogs-form button,.cogs-row-form button{background:var(--blue);color:#fff;border:0;border-radius:6px;padding:11px 17px;font-weight:700;cursor:pointer}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cogs-table{overflow:auto}.cogs-table table{width:100%;border-collapse:collapse}.cogs-table th,.cogs-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.cogs-table th{font-size:12px;text-transform:uppercase;color:#697984}.cogs-inline{display:inline}.cogs-link{border:0;background:none;color:#b32d2e;text-decoration:underline;cursor:pointer;padding:3px}.cogs-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.cogs-cards>div{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;padding:17px}.cogs-cards .warn{border-left-color:#b32d2e}.cogs-cards span{display:block;color:#697984}.cogs-cards b{display:block;font-size:29px;margin-top:5px}.pill{padding:4px 9px;border-radius:20px}.pill.good{background:#e7f6eb;color:#176b2c}.pill.bad{background:#fae9e9;color:#8e2525}.cogs-notice{background:#fff8df;border-left:4px solid var(--gold);padding:12px 15px;margin-bottom:18px}.cogs-row-form{display:grid;grid-template-columns:130px 2fr 110px 140px 1fr auto;gap:10px;align-items:end;margin-top:18px}.cogs-login{max-width:430px;margin:30px auto}.cogs-login input{width:100%}.cogs-switcher{padding:12px 28px 0;background:#fff}.cogs-switcher label{display:flex;align-items:center;gap:10px;font-weight:700}.cogs-switcher select{max-width:360px}.cogs-member-card{border:1px solid var(--line);border-radius:10px;padding:16px;margin:0 0 14px;background:#fff}.cogs-member-card h3{margin:0}.cogs-member-card p{margin:4px 0 12px;color:#5d6964}.cogs-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.cogs-permission{display:flex!important;align-items:center;gap:7px;font-weight:500!important}.cogs-permission input{width:auto!important}.cogs-member-card button{margin-top:8px}.cogs-member-card button.danger{background:#a43c3c}.cogs-form fieldset{border:1px solid var(--line);border-radius:8px;padding:12px}.cogs-form legend{font-weight:700;padding:0 5px}@media(max-width:900px){.cogs-grid{grid-template-columns:1fr}.cogs-cards{grid-template-columns:1fr 1fr}.cogs-row-form{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cogs-app main{padding:14px}.cogs-app header{padding:20px;gap:16px}.cogs-user{display:block;font-size:13px;white-space:nowrap}.cogs-cards,.cogs-row-form,.two,.cogs-permissions{grid-template-columns:1fr}.cogs-switcher{padding:12px 16px 0}}

.cogs-client-help{margin-top:-8px;color:#697984}.cogs-restaurant-link{display:inline-flex;align-items:center;gap:5px;color:var(--blue)!important;font-weight:700;text-decoration:underline!important;text-underline-offset:3px;cursor:pointer}.cogs-restaurant-link:hover,.cogs-restaurant-link:focus{color:#0f2638!important;text-decoration-thickness:2px!important}

/* v0.4.5 responsive application shell */
.cogs-app *{box-sizing:border-box}.cogs-app section{min-width:0}.cogs-clients-panel{overflow:hidden}.cogs-clients-table table{min-width:560px}.cogs-clients-table td:first-child{white-space:normal}.cogs-client-help{white-space:normal}.cogs-app input,.cogs-app select,.cogs-app textarea,.cogs-app button{max-width:100%}
@media (max-width:900px){.cogs-app{width:min(100% - 24px,820px)}.cogs-grid{grid-template-columns:1fr}.cogs-clients-table table{min-width:0}.cogs-app header{gap:18px}.cogs-app nav{scrollbar-width:thin}}
@media (max-width:600px){.cogs-app{width:calc(100% - 16px);border-radius:10px}.cogs-app header{align-items:flex-start}.cogs-app header h1{font-size:20px}.cogs-app nav{padding:0 8px}.cogs-app nav a{padding:12px 10px}.cogs-app section{padding:16px}.cogs-clients-table{overflow:visible}.cogs-clients-table table,.cogs-clients-table tbody,.cogs-clients-table tr,.cogs-clients-table td{display:block;width:100%}.cogs-clients-table thead{display:none}.cogs-clients-table tr{border:1px solid var(--line);border-radius:9px;padding:12px 14px;margin-bottom:12px}.cogs-clients-table td{border:0;padding:6px 0;white-space:normal}.cogs-clients-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:#697984;margin-bottom:2px}.cogs-clients-table td:first-child:before{display:none}.cogs-restaurant-link{font-size:17px;min-height:40px;align-items:center}.cogs-form button,.cogs-row-form button{min-height:44px}.cogs-table:not(.cogs-clients-table){-webkit-overflow-scrolling:touch}}

/* Keep every costing value readable on narrow phones. */
@media (max-width:600px){
 .cogs-app main,.cogs-app section,.cogs-grid,.cogs-table{min-width:0}
 .cogs-table:not(.cogs-clients-table){overflow:visible}
 .cogs-table:not(.cogs-clients-table) table,
 .cogs-table:not(.cogs-clients-table) tbody,
 .cogs-table:not(.cogs-clients-table) tr,
 .cogs-table:not(.cogs-clients-table) td{display:block;width:100%;min-width:0}
 .cogs-table:not(.cogs-clients-table) thead{display:none}
 .cogs-table:not(.cogs-clients-table) tr{border:1px solid var(--line);border-radius:9px;padding:10px 14px;margin:0 0 12px}
 .cogs-table:not(.cogs-clients-table) td{padding:8px 0;border:0;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}
 .cogs-table:not(.cogs-clients-table) td:last-child{border-bottom:0}
 .cogs-table:not(.cogs-clients-table) td:not(.cogs-empty-cell):before{content:attr(data-label);display:block;margin-bottom:3px;color:#697984;font-size:11px;font-weight:700;text-transform:uppercase}
 .cogs-table .cogs-empty-cell{white-space:normal;line-height:1.5}
 .cogs-table .cogs-link{min-height:44px}
}


/* v0.4.8: intentional phone swipe navigation with a clear affordance. */
.cogs-mobile-swipe-hint { display: none; }

@media (max-width: 600px) {
  .cogs-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scroll-behavior: smooth;
  }
  .cogs-tabs a {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  .cogs-mobile-swipe-hint {
    display: block;
    margin: 6px 0 12px;
    text-align: right;
    font-size: 12px;
    font-weight: 600;
    opacity: .68;
  }
}

/* v0.4.9 ingredient cost visibility and mobile actions */
.cogs-ingredients-table .inline { display:inline; }
@media (max-width:600px){
.cogs-ingredients-table table,.cogs-ingredients-table thead,.cogs-ingredients-table tbody,.cogs-ingredients-table tr,.cogs-ingredients-table th,.cogs-ingredients-table td{display:block;width:100%}
.cogs-ingredients-table thead{display:none}
.cogs-ingredients-table tr{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.12)}
.cogs-ingredients-table td{padding:5px 0!important;border:0!important}
.cogs-ingredients-table td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;opacity:.62;text-transform:uppercase}
}

/* v0.4.12 menu profitability and mobile layout */
.cogs-menu-table .inline { display:inline; }
@media (max-width:700px){
  .cogs-menu-table table,.cogs-menu-table thead,.cogs-menu-table tbody,
  .cogs-menu-table tr,.cogs-menu-table th,.cogs-menu-table td{display:block;width:100%}
  .cogs-menu-table thead{display:none}
  .cogs-menu-table tr{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.12)}
  .cogs-menu-table td{padding:5px 0!important;border:0!important}
  .cogs-menu-table td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;opacity:.62;text-transform:uppercase;letter-spacing:.03em}
}

/* v0.4.13 compact Menu Items table */
.cogs-menu-table { overflow-x: visible; }
.cogs-menu-table table { width:100%; table-layout:auto; }
.cogs-menu-table th, .cogs-menu-table td { white-space:normal; }
.cogs-menu-table th:nth-child(3), .cogs-menu-table td:nth-child(3),
.cogs-menu-table th:nth-child(4), .cogs-menu-table td:nth-child(4),
.cogs-menu-table th:nth-child(5), .cogs-menu-table td:nth-child(5) { white-space:nowrap; }
@media (max-width:700px){
  .cogs-menu-table { overflow-x:visible; }
}

/* v0.4.14 Menu Item cards — no horizontal scrolling */
.cogs-menu-items-section { min-width:0; }
.cogs-menu-cards { display:grid; gap:14px; min-width:0; }
.cogs-menu-card { border:1px solid rgba(0,0,0,.12); border-radius:12px; padding:16px; min-width:0; background:#fff; }
.cogs-menu-card-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.cogs-menu-card-head h3 { margin:0 0 3px; font-size:18px; }
.cogs-menu-card-head p { margin:0; opacity:.68; }
.cogs-menu-category { font-weight:700; white-space:nowrap; }
.cogs-menu-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.cogs-menu-metrics div { min-width:0; }
.cogs-menu-metrics span { display:block; font-size:11px; font-weight:700; opacity:.62; text-transform:uppercase; letter-spacing:.03em; }
.cogs-menu-metrics strong { display:block; margin-top:3px; font-size:17px; }
.cogs-menu-actions { display:flex; align-items:center; gap:8px; margin-top:14px; }
.cogs-menu-actions form { display:inline; margin:0; }
@media (max-width:700px) {
  .cogs-menu-card { padding:14px; }
  .cogs-menu-card-head { gap:10px; }
  .cogs-menu-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:380px) {
  .cogs-menu-card-head { display:block; }
  .cogs-menu-category { display:inline-block; margin-top:8px; }
}

/* v0.4.15 Dashboard profitability cards */
.cogs-profit-section { min-width:0; }
.cogs-profit-cards { display:grid; gap:14px; min-width:0; }
.cogs-profit-card { border:1px solid rgba(0,0,0,.12); border-radius:12px; padding:16px; min-width:0; background:#fff; }
.cogs-profit-card-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.cogs-profit-card-head h3 { margin:0 0 3px; font-size:18px; }
.cogs-profit-card-head p { margin:0; opacity:.68; }
.cogs-profit-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-top:16px; }
.cogs-profit-metrics div { min-width:0; }
.cogs-profit-metrics span { display:block; font-size:11px; font-weight:700; opacity:.62; text-transform:uppercase; letter-spacing:.03em; }
.cogs-profit-metrics strong { display:block; margin-top:3px; font-size:17px; }
.cogs-profit-finding { margin:14px 0 0; padding-top:12px; border-top:1px solid rgba(0,0,0,.09); }
@media (max-width:900px) {
  .cogs-profit-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .cogs-profit-card { padding:14px; }
  .cogs-profit-card-head { gap:10px; }
  .cogs-profit-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:380px) {
  .cogs-profit-card-head { display:block; }
}

/* v0.4.18 actionable Above Target KPI */
.cogs-kpi-action a { display:block; color:inherit; text-decoration:none; }
.cogs-kpi-action a:hover strong, .cogs-kpi-action a:focus strong { text-decoration:underline; }
.cogs-kpi-action small { display:block; margin-top:4px; font-weight:600; opacity:.65; }
.cogs-profit-title { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.cogs-profit-title h2 { margin-bottom:0; }
.cogs-filter-note { margin:8px 0 14px; }

/* v0.4.19 Dashboard KPI spacing/alignment */
.cogs-kpis .cogs-kpi {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:18px;
  row-gap:3px;
}
.cogs-kpis .cogs-kpi > span {
  min-width:0;
}
.cogs-kpis .cogs-kpi > strong {
  justify-self:end;
  min-width:2ch;
  text-align:right;
}
.cogs-kpis .cogs-kpi-action a {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:18px;
  row-gap:3px;
}
.cogs-kpis .cogs-kpi-action a > strong {
  justify-self:end;
  min-width:2ch;
  text-align:right;
}
.cogs-kpis .cogs-kpi-action a > small {
  grid-column:1 / -1;
  margin-top:2px;
}

/* v0.4.20 KPI label/value separation */
.cogs-kpis .cogs-kpi {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}
.cogs-kpis .cogs-kpi > span {
  display:block !important;
  flex:1 1 auto !important;
  margin:0 !important;
}
.cogs-kpis .cogs-kpi > strong {
  display:block !important;
  flex:0 0 auto !important;
  margin-left:24px !important;
  text-align:right !important;
}
.cogs-kpis .cogs-kpi-action {
  display:block !important;
}
.cogs-kpis .cogs-kpi-action > a {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:24px !important;
  row-gap:5px !important;
  width:100% !important;
}
.cogs-kpis .cogs-kpi-action > a > span {
  min-width:0 !important;
}
.cogs-kpis .cogs-kpi-action > a > strong {
  margin-left:24px !important;
  text-align:right !important;
}
.cogs-kpis .cogs-kpi-action > a > small {
  grid-column:1 / -1 !important;
}

/* v0.4.22 Team & Settings */
.cogs-app .cogs-permission{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;line-height:1.4;font-weight:500!important;margin:0;padding:4px 0}
.cogs-app .cogs-permission input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:var(--gold);border:initial!important;border-radius:initial!important;box-shadow:none!important}
.cogs-app .cogs-permission input[type="checkbox"]:disabled{opacity:.65}
.cogs-member-actions{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.cogs-app .cogs-member-actions button{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;border:0!important;border-radius:6px!important;padding:10px 16px!important;background:var(--blue)!important;color:#fff!important;font-weight:700!important;text-decoration:none!important;cursor:pointer!important;margin:0!important;width:auto!important}
.cogs-app .cogs-member-actions button.danger{background:#a43c3c!important;color:#fff!important}
.cogs-owner-access-note{margin:8px 0 0;color:#697984;font-size:12px;font-style:italic}
.cogs-app .cogs-member-card>label{display:grid;gap:5px;font-size:13px;font-weight:700}
.cogs-app .cogs-member-card select{width:100%;min-height:42px;border:1px solid #b8c4cc;border-radius:6px;padding:8px;background:#fff}
@media(max-width:560px){.cogs-member-actions{display:grid;grid-template-columns:1fr}.cogs-app .cogs-member-actions button{width:100%!important}}

/* v0.4.31: password setup lives outside .cogs-app, so give it explicit button styling. */
.cogs-login.cogs-password-setup .cogs-form button[type="submit"]{display:block!important;width:100%!important;min-height:46px!important;margin-top:4px!important;background:#183b56!important;color:#fff!important;border:0!important;border-radius:6px!important;padding:12px 18px!important;font-size:15px!important;font-weight:700!important;line-height:1.2!important;cursor:pointer!important;visibility:visible!important;opacity:1!important}
.cogs-login.cogs-password-setup .cogs-form button[type="submit"]:hover{background:#102f47!important}
.cogs-login.cogs-password-setup .cogs-form button[type="submit"]:focus{outline:2px solid #d99b34!important;outline-offset:2px!important}


/* v0.4.35: authentication forms live outside .cogs-app. */
.cogs-login.cogs-auth-form .cogs-form button[type="submit"]{display:block!important;width:100%!important;min-height:46px!important;margin-top:4px!important;background:#183b56!important;color:#fff!important;border:0!important;border-radius:6px!important;padding:12px 18px!important;font-size:15px!important;font-weight:700!important;line-height:1.2!important;cursor:pointer!important}
.cogs-login.cogs-auth-form .cogs-form button[type="submit"]:hover{background:#102f47!important}
.cogs-login.cogs-auth-form .cogs-form button[type="submit"]:focus{outline:2px solid #d99b34!important;outline-offset:2px!important}

/* v0.4.36: settings-only users do not receive the restaurant user-management panel. */
.cogs-grid.cogs-settings-only{grid-template-columns:1fr}
