/* Shared surface treatment for the authenticated ISO and HACCP workspaces.
   Keep semantic colors, layout/display utilities and native field behavior. */
.sv-experience[data-standard-theme] {
    --normic-radius:16px;
    --normic-control-radius:10px;
    --normic-surface-shadow:0 2px 5px #0f172a04,0 8px 24px -18px #0f172a38;
}
.normic-wordmark { display:flex; align-items:center; gap:12px; text-decoration:none; color:#172b4d; }
.normic-brand-symbol { display:block; width:56px; height:56px; object-fit:contain; flex:none; border-radius:10px; background:#fff; }
.normic-brand-copy { display:grid; gap:3px; }
.normic-brand-copy strong { font-size:25px; line-height:1; font-weight:850; letter-spacing:.07em; }
.normic-brand-copy small { font-size:10px; letter-spacing:.09em; color:#64748b; }
.sidebar-collapsed .normic-brand-copy { display:none; }
.sidebar-collapsed .normic-wordmark { gap:0; }
.sv-experience #main-sidebar .sidebar-logo-section { height:96px; flex-shrink:0; }
.normic-header-brand { display:flex; align-items:center; gap:6px; color:#172b4d; font-weight:850; font-size:15px; letter-spacing:.05em; flex:none; }
.normic-haccp-brand { display:flex; align-items:center; gap:7px; color:#fff; font-weight:850; font-size:19px; letter-spacing:.06em; padding-right:14px; border-right:1px solid #ffffff40; flex:none; }
.normic-header-brand img,.normic-haccp-brand img { width:40px; height:40px; object-fit:contain; background:#fff; border-radius:8px; flex:none; }
.normic-owner-logo { display:block; width:104px; height:53px; object-fit:contain; background:#fff; border-radius:7px; flex:none; }
.normic-shell-header h1 { min-width:0; }
.normic-haccp-account { min-width:0; }

/* Cards use the same edge and elevation without flattening status badges. */
.sv-experience[data-standard-theme] main :is(.bg-white.rounded-xl,.bg-white.rounded-2xl,.haccp-card,.ho-card,.indicator-card,.stat-card) {
    border-radius:var(--normic-radius); box-shadow:var(--normic-surface-shadow);
}
.sv-experience[data-standard-theme] main :is([data-module-card],a.haccp-card) {
    padding:22px; border:1px solid var(--normic-line); border-top:3px solid var(--normic-color);
    transition:border-color .16s,box-shadow .16s; transform:none;
}
.sv-experience[data-standard-theme] main :is([data-module-card],a.haccp-card) h3 { font-size:17px; line-height:1.4; letter-spacing:-.015em; }
.sv-experience[data-standard-theme] main :is([data-module-card],a.haccp-card) p { line-height:1.6; }
.sv-experience[data-standard-theme] main [data-module-card] .normic-tool-open { margin-top:auto; padding-top:14px; }
@media(hover:hover) {
    .sv-experience[data-standard-theme] main :is([data-module-card],a.haccp-card):hover { transform:none; border-color:var(--normic-color); box-shadow:0 6px 22px -12px #172b4d55; }
}

/* Existing action colors remain meaningful; standardize only shape and rhythm.
   Text-only links, tiny icon controls and navigation tabs keep their own sizing. */
.sv-experience[data-standard-theme] main :is(button,a):where([class*="rounded"]):where([class*="px-"],.px-3\.5),
.sv-experience[data-standard-theme] main :is(.ho-button,.sv-help-button,.normic-video-button) {
    border-radius:var(--normic-control-radius); min-height:40px; font-size:13px; line-height:1.35; font-weight:650;
}
.sv-experience[data-standard-theme] main :is(button,a):where([class*="rounded"]):where([class*="px-"]) { padding-top:9px; padding-bottom:9px; }
.sv-experience[data-standard-theme] main :is(button,a):focus-visible { outline:3px solid var(--normic-color); outline-offset:3px; }
.sv-experience[data-standard-theme] main button:disabled { opacity:.55; cursor:not-allowed; }

/* Text fields only: never resize checkboxes, hidden inputs, sliders or buttons. */
.sv-experience[data-standard-theme] main :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],select,textarea) {
    border-radius:var(--normic-control-radius); min-height:42px; font-size:14px; line-height:1.5;
    border-color:#b8c7d8; padding-top:9px; padding-bottom:9px; max-width:100%;
}
.sv-experience[data-standard-theme] main textarea { min-height:96px; resize:vertical; }
.sv-experience[data-standard-theme] main :is(input,select,textarea):focus-visible { outline:2px solid var(--normic-color); outline-offset:2px; box-shadow:0 0 0 4px var(--normic-soft); }
.sv-experience[data-standard-theme] main :is(input,select,textarea):disabled { cursor:not-allowed; opacity:.7; }
.sv-experience[data-standard-theme] main :is(input,textarea)[readonly] { background-color:#f1f5f9; }
.sv-experience[data-standard-theme] main :is(input,select,textarea)[aria-invalid="true"] { border-color:#b91c1c; }
.sv-experience[data-standard-theme] main :is(input,select,textarea):user-invalid { border-color:#b91c1c; }
.sv-experience[data-standard-theme] main label:where([class*="text-"]) { font-size:12px; line-height:1.5; }

/* No column hiding, ellipsis or fixed widths: wide matrices remain scrollable. */
.sv-experience[data-standard-theme] main table { font-variant-numeric:tabular-nums; }
.sv-experience[data-standard-theme] main table :is(th,td) { padding:12px 14px; line-height:1.5; }
.sv-experience[data-standard-theme] main table th { font-size:12px; font-weight:700; letter-spacing:.025em; }
.sv-experience[data-standard-theme] main table td { font-size:13px; border-bottom-color:#e2e8f0; }
.sv-experience[data-standard-theme] main table tbody tr:not([class*="bg-"]):not([style]):nth-child(even) { background-color:#f8fafc; }
.sv-experience[data-standard-theme] main table tbody tr:not([class*="bg-"]):not([style]):hover { background-color:var(--normic-soft); }
.sv-experience[data-standard-theme] main :is(.overflow-x-auto,.ho-table) { scrollbar-width:thin; scrollbar-color:#94a3b8 #f1f5f9; }
@media(max-width:767px) {
    .normic-header-brand { gap:0; }
    .normic-header-brand span { display:none; }
    .normic-header-brand img,.normic-haccp-brand img { width:32px; height:32px; }
    .normic-owner-logo { width:82px; height:42px; }
    .normic-haccp-brand { font-size:13px; padding-right:8px; gap:4px; }
    .normic-haccp-account { flex-wrap:wrap; }
    .normic-haccp-account > .normic-owner-logo { margin-right:auto; }
    .normic-haccp-account > span:not(.hidden) { max-width:calc(100% - 210px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .sv-experience[data-standard-theme] main :is([data-module-card],a.haccp-card) { padding:18px; }
    .sv-experience[data-standard-theme] main :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],select,textarea) { font-size:16px; min-height:44px; }
    .sv-experience[data-standard-theme] main :is(button,a):where([class*="rounded"]):where([class*="px-"]),
    .sv-experience[data-standard-theme] main .ho-button { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .sv-experience[data-standard-theme] main :is([data-module-card],a.haccp-card) { transition:none; } }
@media print {
    .normic-header-brand,.normic-haccp-brand { display:none; }
    .sv-experience[data-standard-theme] main table :is(th,td) { padding:6px; font-size:10px; }
}
