:root {
    --suite-bg: #f3f6fa;
    --suite-surface: #ffffff;
    --suite-surface-soft: #f8fafc;
    --suite-text: #10233f;
    --suite-muted: #64748b;
    --suite-line: #dbe4ef;
    --suite-accent: #0f8f83;
    --suite-accent-dark: #0b6f67;
    --suite-danger: #c2413a;
    --suite-warning: #c47a00;
    --suite-success: #12805c;
}

.enterprise-module,
.suite-launcher {
    min-height: 100dvh;
    padding: 24px;
    background: var(--suite-bg);
    color: var(--suite-text);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.suite-launcher { max-width: none; padding: clamp(24px, 5vw, 72px); }
.suite-launcher-header { max-width: 1420px; margin: 0 auto 34px; display: flex; align-items: center; gap: 18px; }
.suite-launcher-logo { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(145deg,#0f8f83,#075c56); color:#fff; font-size:26px; font-weight:950; box-shadow:0 12px 28px rgba(15,143,131,.24); }
.suite-launcher-header small { color:var(--suite-accent); font-size:10px; font-weight:900; letter-spacing:1.5px; }
.suite-launcher-header h1 { margin:3px 0 4px; font-size:clamp(30px,4vw,46px); letter-spacing:-1.5px; }
.suite-launcher-header p { margin:0; color:var(--suite-muted); font-size:14px; }
.launcher-grid { max-width:1420px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(230px,1fr)); gap:18px; }
.launcher-grid a { min-height:230px; padding:26px; display:flex; flex-direction:column; border:1px solid var(--suite-line); border-radius:20px; background:#fff; color:var(--suite-text); text-decoration:none; box-shadow:0 8px 28px rgba(15,35,63,.06); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.launcher-grid a:hover { transform:translateY(-4px); border-color:#78c9c1; box-shadow:0 18px 36px rgba(15,35,63,.11); }
.launcher-grid i { width:54px; height:54px; display:grid; place-items:center; border-radius:15px; background:#eaf8f6; color:var(--suite-accent-dark); font-size:25px; font-style:normal; }
.launcher-grid b { margin-top:24px; font-size:22px; }
.launcher-grid span { margin-top:8px; color:var(--suite-muted); font-size:13px; line-height:1.5; }
.launcher-grid em { margin-top:auto; padding-top:22px; color:var(--suite-accent-dark); font-size:12px; font-style:normal; font-weight:900; }
@media(max-width:900px){.launcher-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:580px){.suite-launcher{padding:20px 14px}.launcher-grid{grid-template-columns:1fr}.launcher-grid a{min-height:190px}}

.enterprise-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
    padding: 18px 22px;
    border: 1px solid var(--suite-line);
    border-radius: 18px;
    background: var(--suite-surface);
    box-shadow: 0 8px 28px rgba(15, 35, 63, .06);
}

.module-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.module-logo {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(145deg, #0f8f83, #0b6f67);
    color: #fff;
    font-size: 24px;
    box-shadow: 0 10px 24px rgba(15, 143, 131, .22);
}

.module-brand small,
.eyebrow {
    display: block;
    color: var(--suite-accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.3px;
}

.module-brand h1 {
    margin: 2px 0 2px;
    font-size: 29px;
    line-height: 1.05;
    letter-spacing: -.4px;
}

.module-brand p,
.panel-heading p {
    margin: 0;
    color: var(--suite-muted);
    font-size: 13px;
}

.topbar-status,
.panel-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.status-pill,
.count-badge,
.status-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid var(--suite-line);
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: 11px;
    font-style: normal;
    font-weight: 850;
}

.status-pill.success,
.status-tag.success {
    border-color: #a7e7ce;
    background: #edfdf7;
    color: var(--suite-success);
}

.status-pill.warning,
.status-tag.warning {
    border-color: #f1d49b;
    background: #fff9eb;
    color: var(--suite-warning);
}

.status-tag.danger {
    border-color: #f1b7b3;
    background: #fff2f1;
    color: var(--suite-danger);
}

.primary-btn,
.secondary-btn,
.payment-btn {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 10px;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.primary-btn {
    border: 1px solid var(--suite-accent);
    background: var(--suite-accent);
    color: #fff;
}

.primary-btn:hover:not(:disabled) { background: var(--suite-accent-dark); }
.secondary-btn {
    border: 1px solid var(--suite-line);
    background: #fff;
    color: var(--suite-text);
}

.primary-btn:disabled,
.secondary-btn:disabled,
.payment-btn:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.wide { width: 100%; margin-top: 10px; }

.workspace-panel {
    min-width: 0;
    border: 1px solid var(--suite-line);
    border-radius: 18px;
    background: var(--suite-surface);
    box-shadow: 0 8px 28px rgba(15, 35, 63, .05);
}

.panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--suite-line);
}

.panel-heading h2 {
    margin: 3px 0 0;
    font-size: 20px;
    letter-spacing: -.25px;
}

.suite-error {
    margin-bottom: 16px;
    padding: 13px 16px;
    border: 1px solid #f1b7b3;
    border-radius: 12px;
    background: #fff2f1;
    color: #a93631;
    font-size: 13px;
    font-weight: 750;
}

.cafe-workspace {
    display: grid;
    grid-template-columns: 300px minmax(460px, 1fr) 290px;
    gap: 16px;
    min-height: calc(100dvh - 145px);
}

.tabs-panel,
.order-panel,
.checkout-panel {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.tabs-panel .panel-actions { padding: 14px 16px; border-bottom: 1px solid var(--suite-line); }
.tabs-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    overflow: auto;
}

.tab-card {
    width: 100%;
    min-height: 76px;
    padding: 12px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--suite-line);
    border-radius: 13px;
    background: #fff;
    color: var(--suite-text);
    text-align: left;
    cursor: pointer;
}

.tab-card:hover,
.tab-card.selected {
    border-color: var(--suite-accent);
    background: #f0fdfa;
}

.tab-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #eef3f8;
}

.tab-copy { min-width: 0; }
.tab-copy strong,
.tab-copy small { display: block; }
.tab-copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tab-copy small { margin-top: 4px; color: var(--suite-muted); font-size: 11px; }
.tab-card b { font-size: 15px; }

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--suite-muted);
}
.empty-state.compact { min-height: 160px; padding: 22px; }
.empty-state.large { flex: 1; min-height: 360px; padding: 40px; }
.empty-state strong { color: var(--suite-text); font-size: 17px; }
.empty-state span { margin-top: 7px; font-size: 12px; }
.empty-icon { margin-bottom: 12px; font-size: 42px; }

.order-summary-grid,
.module-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.order-summary-grid { padding: 18px; }
.order-summary-grid article,
.module-kpis article {
    padding: 14px 16px;
    border: 1px solid var(--suite-line);
    border-radius: 13px;
    background: var(--suite-surface-soft);
}
.order-summary-grid span,
.module-kpis span { display: block; color: var(--suite-muted); font-size: 11px; font-weight: 750; }
.order-summary-grid strong,
.module-kpis strong { display: block; margin-top: 7px; font-size: 18px; }

.operation-placeholder {
    margin: 0 18px 18px;
    padding: 22px;
    border: 1px dashed #b7c5d6;
    border-radius: 14px;
    background: #fbfdff;
}
.operation-placeholder h3 { margin: 5px 0 7px; }
.operation-placeholder p { margin: 0; color: var(--suite-muted); font-size: 13px; }
.capability-list { display: grid; gap: 8px; margin-top: 18px; font-size: 12px; font-weight: 750; }

.checkout-panel { padding-bottom: 18px; }
.checkout-total {
    margin: 18px;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 14px;
    background: #10233f;
    color: #fff;
}
.checkout-total span { font-size: 11px; font-weight: 900; letter-spacing: .7px; }
.checkout-total strong { font-size: 26px; }
.payment-btn { margin: 0 18px 10px; border: 1px solid transparent; color: #fff; }
.payment-btn.cash { background: #16a05d; }
.payment-btn.card { background: #2468d4; }
.payment-btn.neutral { background: #64748b; }
.integration-note { margin: 8px 18px 0; padding: 12px; border-radius: 10px; background: #f8fafc; color: var(--suite-muted); font-size: 11px; line-height: 1.45; }

.module-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 16px;
}
.module-kpis article { background: #fff; box-shadow: 0 6px 20px rgba(15, 35, 63, .04); }
.module-kpis strong { font-size: 25px; }

.restaurant-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 16px;
}
.floor-panel { min-height: 620px; }
.restaurant-table-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 14px;
    padding: 18px;
}
.restaurant-table {
    min-height: 150px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid var(--suite-line);
    border-radius: 16px;
    text-align: left;
    cursor: pointer;
}
.restaurant-table.free { background: #f0fdf7; border-color: #9fe4c8; }
.restaurant-table.occupied { background: #fff8ed; border-color: #f3cf91; }
.table-code { color: var(--suite-muted); font-size: 11px; font-weight: 900; }
.restaurant-table strong { margin-top: 6px; font-size: 19px; }
.restaurant-table small { margin-top: 5px; color: var(--suite-muted); }
.restaurant-table b { margin-top: auto; font-size: 21px; }
.restaurant-table em { margin-top: 7px; font-size: 11px; font-style: normal; font-weight: 900; }
.selected-table-panel { padding-bottom: 18px; }
.detail-list { padding: 8px 18px; }
.detail-list div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--suite-line); }
.detail-list span { color: var(--suite-muted); font-size: 12px; }
.detail-list strong { font-size: 13px; }
.selected-table-panel > .wide { width: calc(100% - 36px); margin-left: 18px; margin-right: 18px; }

.data-workspace { overflow: hidden; }
.panel-actions.inline { margin-left: auto; }
.suite-search {
    width: min(360px, 42vw);
    height: 42px;
    padding: 0 13px;
    border: 1px solid var(--suite-line);
    border-radius: 10px;
    outline: none;
    font: inherit;
}
.suite-search:focus { border-color: var(--suite-accent); }
.enterprise-table { overflow: auto; }
.table-head,
.table-row {
    display: grid;
    grid-template-columns: 2.2fr 1fr 1fr 1fr .8fr 1fr;
    gap: 14px;
    align-items: center;
    min-width: 850px;
    padding: 14px 18px;
}
.table-head { background: #eef3f8; font-size: 11px; font-weight: 900; color: #475569; }
.table-row { border-top: 1px solid var(--suite-line); font-size: 12px; }
.table-row.attention { background: #fffaf2; }
.table-row strong,
.table-row small { display: block; }
.table-row small { margin-top: 4px; color: var(--suite-muted); }

.warehouse-board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.warehouse-column { overflow: hidden; }
.document-list { display: grid; gap: 11px; padding: 14px; }
.document-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--suite-line);
    border-radius: 13px;
    background: #fff;
}
.document-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #eef4f8; color: var(--suite-accent); font-size: 20px; font-weight: 900; }
.document-card strong,
.document-card span,
.document-card small { display: block; }
.document-card span { margin-top: 4px; font-size: 12px; }
.document-card small { margin-top: 4px; color: var(--suite-muted); }

@media (max-width: 1150px) {
    .cafe-workspace { grid-template-columns: 260px minmax(380px, 1fr); }
    .checkout-panel { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr repeat(3, 180px); align-items: center; gap: 10px; padding: 12px 18px; }
    .checkout-panel .panel-heading, .checkout-panel .integration-note { display: none; }
    .checkout-panel .checkout-total, .checkout-panel .payment-btn { margin: 0; }
}

@media (max-width: 850px) {
    .enterprise-module { padding: 14px; }
    .enterprise-topbar { align-items: flex-start; flex-direction: column; }
    .cafe-workspace, .restaurant-layout, .warehouse-board { grid-template-columns: 1fr; }
    .module-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .checkout-panel { grid-column: auto; display: flex; }
    .checkout-panel .panel-heading, .checkout-panel .integration-note { display: flex; }
    .checkout-panel .checkout-total { margin: 18px; }
    .checkout-panel .payment-btn { margin: 0 18px 10px; }
}

/* Café operational V6 */
.cafe-operational{grid-template-columns:280px minmax(520px,1fr) 390px}.products-panel{overflow:hidden}.cafe-search-row{display:flex;gap:10px;padding:14px 16px;border-bottom:1px solid #e5e7eb}.cafe-search-row input{flex:1;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:0 14px;font-weight:700}.cafe-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;padding:16px;max-height:calc(100vh - 285px);overflow:auto}.cafe-product-card{min-height:130px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;padding:14px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.04)}.cafe-product-card:hover:not(:disabled){border-color:#0f9488;transform:translateY(-1px)}.cafe-product-card b{margin-top:auto;color:#0f766e;font-size:17px}.product-symbol{width:38px;height:38px;border-radius:10px;background:#ecfdf5;color:#047857;display:grid;place-items:center;font-weight:900}.cafe-cart-lines{flex:1;overflow:auto;min-height:300px}.operational-cart{display:flex;flex-direction:column}.cafe-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto 30px;gap:9px;align-items:center;padding:13px 12px;border-bottom:1px solid #e5e7eb}.cafe-cart-line small{display:block;color:#64748b;margin-top:3px}.qty-control{display:flex;align-items:center;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.qty-control button{width:30px;height:30px;border:0;background:#f8fafc;font-weight:900;cursor:pointer}.qty-control span{min-width:30px;text-align:center;font-weight:900}.remove-line{border:0;border-radius:8px;background:#fee2e2;color:#b91c1c;width:28px;height:28px;font-weight:900}.suite-success{margin:0 10px 14px;padding:12px 16px;border:1px solid #a7f3d0;border-radius:10px;background:#ecfdf5;color:#047857;font-weight:800}@media(max-width:1250px){.cafe-operational{grid-template-columns:240px minmax(430px,1fr) 340px}}@media(max-width:980px){.cafe-operational{grid-template-columns:1fr}.tabs-panel,.checkout-panel{max-height:none}}

.module-tabs{display:flex;gap:8px;margin:0 0 16px;padding:6px;border:1px solid var(--suite-line);border-radius:14px;background:#fff;overflow:auto}.module-tabs button{min-height:42px;padding:0 18px;white-space:nowrap;border:0;border-radius:9px;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.module-tabs button.active{background:#10233f;color:#fff}.module-tabs button:disabled{opacity:.45}.pharmacy-sale-grid{display:grid;grid-template-columns:minmax(520px,1fr) 370px;gap:16px}.pharmacy-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding:14px}.pharmacy-product{position:relative;min-height:94px;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--suite-line);border-radius:13px;background:#fff;text-align:left;color:var(--suite-text);cursor:pointer}.pharmacy-product:hover{border-color:var(--suite-accent)}.pharmacy-product>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eaf8f6;color:var(--suite-accent);font-size:20px}.pharmacy-product strong,.pharmacy-product small{display:block}.pharmacy-product small{margin-top:5px;color:var(--suite-muted)}.pharmacy-product b{color:var(--suite-accent-dark);font-size:16px}.pharmacy-product em{position:absolute;right:10px;bottom:7px;color:#b45309;font-size:9px;font-style:normal;font-weight:950}.pharmacy-selection{min-height:560px}.drug-card{display:grid;gap:16px;padding:20px}.drug-card>strong{font-size:20px}.drug-card>span{color:var(--suite-muted)}.clinical-warning{padding:13px;border:1px solid #f1d49b;border-radius:10px;background:#fff9eb;color:#9a5b00;font-size:12px;font-weight:800}.drug-card label,.suite-form-grid label{display:grid;gap:7px;color:#475569;font-size:11px;font-weight:850}.drug-card select,.suite-form-grid input{width:100%;height:44px;padding:0 12px;border:1px solid var(--suite-line);border-radius:9px;background:#fff;font:inherit}.status-action{min-height:32px;padding:0 11px;border:1px solid;border-radius:999px;background:#fff;font-size:10px;font-weight:900;cursor:pointer}.status-action.success{border-color:#9fe4c8;color:#087b55}.status-action.danger{border-color:#f1b7b3;color:#b4231b}.form-workspace{max-width:900px;overflow:hidden}.suite-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px;padding:22px}.suite-form-grid .primary-btn{align-self:end}.pharmacy-table .table-row{min-height:68px}@media(max-width:920px){.pharmacy-sale-grid{grid-template-columns:1fr}.pharmacy-selection{min-height:360px}.suite-form-grid{grid-template-columns:1fr}}
