/* Arteniña · ANN Members visual language, manufacturing edition. */
:root {
  color-scheme: light;
  --ink:#1d1d1f; --secondary:#515154; --muted:#6e6e73;
  --line:#e5e5e7; --border:#d2d2d7; --bg:#f5f5f7; --surface:#fff;
  --red:#a3312b; --green:#356449; --radius:14px; --canvas:1120px;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:14px/1.47 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
button,input,select,textarea { font:inherit; color:inherit; touch-action:manipulation; }
button { cursor:pointer; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:9px; font-size:28px; line-height:1.25; font-weight:600; letter-spacing:-.7px; overflow-wrap:anywhere; }
h2 { font-size:16px; font-weight:600; line-height:1.4; margin:0 0 18px; }
h3 { font-size:14px; font-weight:600; margin:20px 0 8px; }
p { color:var(--secondary); }
strong,.strong { font-weight:600; }
.muted,small { color:var(--muted); }
small { font-size:12px; }
.danger { color:var(--red); }
.preserve { white-space:pre-wrap; overflow-wrap:anywhere; }
:where(a,button,input,select,textarea):focus-visible { outline:2px solid var(--secondary); outline-offset:3px; }
.skip-link { position:absolute; top:-60px; left:16px; z-index:10; padding:10px 18px; background:var(--ink); color:#fff; }
.skip-link:focus { top:8px; color:#fff; }
.site-header { background:var(--surface); border-bottom:1px solid var(--line); }
.header-inner { min-height:68px; padding:12px 28px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:inline-flex; align-items:baseline; gap:14px; color:var(--ink); font-size:25px; font-weight:600; line-height:1.2; letter-spacing:-.6px; white-space:nowrap; }
.brand:hover { text-decoration:none; }
.brand span { color:var(--muted); font-size:13px; font-weight:400; letter-spacing:0; }
.user-menu { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:18px; font-size:12px; color:var(--muted); }
.user-menu>span { max-width:180px; overflow-wrap:anywhere; }
.user-menu form { margin:0; }
.text-button { background:transparent; border:0; padding:0; color:var(--muted); font-size:12px; }
.text-button:hover { text-decoration:underline; }
.nav-surface { background:#fafafa; border-bottom:1px solid var(--line); }
.main-nav { display:flex; align-items:center; gap:28px; max-width:var(--canvas); margin:0 auto; padding:0 24px; min-height:46px; overflow-x:auto; }
.main-nav a { display:flex; align-items:center; align-self:stretch; padding:13px 0 11px; border-bottom:2px solid transparent; color:var(--muted); font-size:13px; white-space:nowrap; }
.main-nav a:hover { text-decoration:none; color:var(--ink); }
.main-nav a.selected { color:var(--ink); border-bottom-color:var(--ink); font-weight:600; }
.workspace { min-width:0; }
.breadcrumbs,.workspace main,.footer { max-width:var(--canvas); margin:0 auto; padding-left:24px; padding-right:24px; }
.breadcrumbs { display:flex; align-items:center; gap:10px; padding-top:20px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.workspace main { padding-top:24px; padding-bottom:32px; }
.footer { padding-top:0; padding-bottom:28px; color:#86868b; font-size:11px; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.page-heading>div:first-child { min-width:0; }
.page-heading p { margin:0; font-size:13px; }
.eyebrow { font-size:11px; color:#86868b; letter-spacing:.2px; margin-bottom:8px; overflow-wrap:anywhere; }
.page-heading .eyebrow { display:none; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:38px; padding:8px 15px; background:#fff; border:1px solid var(--border); border-radius:9px; font-size:13px; font-weight:400; line-height:20px; color:var(--secondary); white-space:nowrap; }
.button:hover { background:var(--bg); color:var(--ink); text-decoration:none; }
.button.primary { background:var(--ink); border-color:var(--ink); color:#fff; font-weight:500; }
.button.primary:hover { background:#38383a; border-color:#38383a; }
.button.small { min-height:32px; padding:5px 12px; font-size:12px; }
.button.full { width:100%; }
.panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:20px; overflow:hidden; }
.padded { padding:22px 24px; }
.narrow { width:100%; max-width:none; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 24px 18px; }
.section-heading h2 { margin-bottom:4px; }
.section-heading p { color:var(--muted); font-size:12px; margin:0; }
.section-heading>a:not(.button) { font-size:12px; color:var(--secondary); white-space:nowrap; }
.metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.metric-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.metric { min-width:0; padding:22px 24px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
a.metric:hover { border-color:var(--border); text-decoration:none; }
.metric>span { display:block; font-size:12px; color:var(--muted); }
.metric strong { display:block; font-size:34px; font-weight:600; line-height:1.3; letter-spacing:-.8px; margin:12px 0 8px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.metric strong small { font-size:12px; margin-left:8px; font-weight:400; letter-spacing:0; }
.metric em { font-style:normal; font-size:11px; color:#86868b; }
.metric.alert strong { color:var(--red); }
.metric strong.date-number { font-size:30px; }
.metric strong.amount-number { font-size:24px; margin-top:17px; margin-bottom:13px; }
.two-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.two-columns>.panel { min-width:0; }
.table-wrap { width:100%; overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:13px; color:var(--secondary); }
thead { background:#fafafa; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
th { height:44px; padding:10px 12px; text-align:center; font-size:12px; line-height:1.4; font-weight:500; color:var(--muted); white-space:nowrap; vertical-align:middle; }
td { padding:11px 12px; height:52px; border-bottom:1px solid #eeeeef; min-width:64px; text-align:center; vertical-align:middle; line-height:1.4; overflow-wrap:anywhere; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#fafafa; }
td small { display:block; font-size:11px; line-height:1.45; margin-top:4px; margin-left:auto; margin-right:auto; max-width:340px; overflow-wrap:anywhere; }
.numeric { text-align:center; font-variant-numeric:tabular-nums; white-space:nowrap; }
td a { color:var(--ink); }
.badge { display:inline-flex; align-items:center; justify-content:center; padding:4px 10px; border-radius:6px; background:#f0f0f2; color:var(--secondary); font-size:11px; line-height:1.4; white-space:nowrap; }
.badge[data-status=issued] { background:#f0f0f2; color:var(--ink); }
.badge[data-status=producing] { background:#e9e9ec; color:var(--ink); }
.badge[data-status=ready] { background:#dfdfe3; color:var(--ink); }
.badge[data-status=closed] { background:var(--ink); color:#fff; }
.badge[data-status=cancelled] { background:#f5f5f7; color:#86868b; }
.empty { padding:44px 24px; text-align:center; }
.empty-icon { color:#86868b; font-size:30px; margin-bottom:12px; }
.empty h3 { font-size:16px; margin:0 0 8px; }
.empty p { color:var(--muted); font-size:13px; margin:0 0 20px; }
.empty .actions { justify-content:center; }
.section-empty { padding:20px 24px; font-size:13px; color:var(--muted); margin:0; }
.currency-summary { border-top:1px solid var(--line); padding:18px 24px; }
.currency-summary .eyebrow { font-weight:600; color:var(--secondary); }
.currency-summary dl { margin:0; }
.currency-summary dl>div { display:flex; justify-content:space-between; gap:18px; font-size:13px; margin:10px 0; }
.currency-summary dt { color:var(--muted); }
.currency-summary dd { margin:0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.currency-summary p { font-size:12px; margin:14px 0 0; }
.timeline { padding:0 24px 18px; }
.padded .timeline { padding:0; }
.timeline-item { position:relative; padding:14px 0 14px 18px; margin-left:3px; border-left:1px solid var(--line); font-size:13px; }
.timeline-item:before { content:""; position:absolute; left:-3px; top:22px; width:5px; height:5px; background:#86868b; border-radius:50%; }
.timeline-item>div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.timeline-item a { color:var(--muted); font-size:11px; }
.timeline-item small { display:block; margin-top:5px; font-size:11px; }
.timeline-item p { margin:6px 0; font-size:13px; }
.filter-bar { padding:18px 20px; }
.order-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; align-items:end; }
.filter-field { display:flex; flex-direction:column; gap:6px; min-width:0; margin:0; }
.filter-field>span { font-size:12px; color:var(--muted); text-align:center; }
.filter-field select,.filter-field input { height:38px; min-height:38px; text-align:center; text-align-last:center; }
.filter-field input[type=search] { text-align:left; text-align-last:auto; }
.filter-actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; min-height:38px; }
.inline-check { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; white-space:nowrap; }
.catalog-filters { display:flex; justify-content:center; align-items:end; gap:10px; }
.catalog-filters .filter-field { width:360px; max-width:100%; }
.pagination { display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid var(--line); padding:14px 20px; font-size:12px; color:var(--muted); }
.pagination>div { display:flex; gap:8px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.field { min-width:0; margin-bottom:18px; }
.field label { display:block; margin-bottom:7px; font-size:13px; color:var(--muted); }
.required { color:#86868b; margin-left:5px; }
input,select,textarea { width:100%; min-height:38px; padding:8px 12px; border:1px solid var(--border); border-radius:8px; color:var(--ink); background:#fff; font-size:13px; line-height:20px; }
input::placeholder,textarea::placeholder { color:#86868b; opacity:1; }
input:focus,select:focus,textarea:focus { border-color:var(--secondary); }
input[type=checkbox] { width:16px; height:16px; min-height:16px; margin:0; accent-color:var(--ink); }
input[type=file] { padding:7px; font-size:12px; }
textarea { resize:vertical; line-height:1.6; }
.field small { display:block; margin-top:5px; font-size:12px; }
.form-grid .field:has(textarea),.form-grid>.errorlist { grid-column:1/-1; }
.checkbox-field { display:flex; align-items:center; gap:12px; }
.checkbox-field label { margin:0; }
.errorlist { color:var(--red); background:#faf1f0; font-size:12px; border-radius:7px; padding:10px 12px; margin:8px 0; list-style:none; overflow-wrap:anywhere; }
.form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }
.editor-table { min-width:1040px; }
.editor-table td { padding:12px 7px; vertical-align:top; }
.editor-table td:first-child { width:190px; padding-left:16px; }
.editor-table td:nth-child(2) { min-width:145px; }
.editor-table td:nth-child(3) { min-width:110px; }
.editor-table td:nth-child(4),.editor-table td:nth-child(5) { width:85px; min-width:85px; }
.editor-table td:nth-child(6) { width:110px; min-width:110px; }
.editor-table td:nth-child(7) { min-width:150px; }
.editor-table input,.editor-table select { font-size:12px; padding:8px; }
.editor-table .delete-cell { padding-top:23px; }
.order-line.deleted { opacity:.45; }
.order-form-total { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:20px; padding:18px 24px; background:#fafafa; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.order-form-total strong { color:var(--ink); font-size:16px; }
.sticky-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:4px 0 18px; }
.sticky-actions .muted { font-size:12px; }
.heading-meta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.progress-track { height:4px; border-radius:3px; background:#e9e9eb; margin-top:20px; overflow:hidden; }
.progress-track span { height:100%; display:block; background:var(--secondary); }
.info-list { display:grid; gap:12px; margin:0 0 20px; font-size:13px; }
.info-list>div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:10px; }
.info-list dt { color:var(--muted); }
.info-list dd { margin:0; overflow-wrap:anywhere; }
.receipt-record { padding:18px 24px; border-top:1px solid var(--line); }
.record-heading { display:flex; align-items:center; flex-wrap:wrap; gap:18px; font-size:13px; }
.record-heading>span { font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.receipt-items { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.receipt-items>span { padding:9px 12px; background:var(--bg); border-radius:7px; color:var(--secondary); font-size:12px; }
.receipt-items b { display:block; margin-top:4px; font-size:12px; font-weight:500; }
.receipt-record p { margin:12px 0 0; font-size:13px; }
.payment-summary { display:flex; flex-wrap:wrap; gap:40px; padding:18px 24px; background:#fafafa; border-top:1px solid var(--line); }
.payment-summary span { display:block; font-size:12px; color:var(--muted); }
.payment-summary strong { display:block; font-size:22px; margin-top:6px; font-variant-numeric:tabular-nums; }
.file-list { list-style:none; margin:18px 0; padding:0; font-size:13px; }
.file-list li { padding:10px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.file-list small { display:block; font-size:11px; margin-top:4px; }
.message { padding:12px 16px; margin-bottom:18px; border-radius:8px; border:1px solid var(--line); background:#fafafa; color:var(--secondary); font-size:13px; }
.message.success { color:var(--green); background:#f2f6f3; border-color:#dfe9e1; }
.message.error { color:var(--red); background:#faf1f0; border-color:#ead5d2; }
.login-page { display:grid; min-height:100vh; place-items:center; padding:32px 20px; background:var(--bg); }
.login-card { width:420px; max-width:100%; padding:36px; border:1px solid var(--line); background:#fff; border-radius:16px; }
.login-card .brand { display:flex; justify-content:center; flex-direction:column; align-items:center; gap:10px; margin-bottom:30px; font-size:30px; }
.login-card .brand span { font-size:13px; }
.login-card .eyebrow { display:none; }
.login-card h1 { font-size:24px; text-align:center; margin-bottom:10px; }
.login-card>p { font-size:13px; text-align:center; margin-bottom:26px; }
.login-card .login-foot { font-size:11px; color:#86868b; margin:22px 0 0; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:960px) {
  .metric-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric { padding:20px; }
  .page-heading { align-items:flex-start; }
  .two-columns { gap:16px; }
}
@media(max-width:700px) {
  .header-inner { padding:16px; flex-wrap:wrap; gap:14px; }
  .brand { font-size:24px; }
  .user-menu { gap:14px; font-size:12px; justify-content:flex-start; }
  .main-nav { padding:0 16px; gap:24px; }
  .breadcrumbs,.workspace main,.footer { padding-left:16px; padding-right:16px; }
  .breadcrumbs { padding-top:16px; }
  .workspace main { padding-top:20px; }
  h1 { font-size:24px; }
  .page-heading { flex-wrap:wrap; gap:16px; margin-bottom:20px; }
  .metric-grid { gap:10px; }
  .metric { padding:16px 12px; }
  .metric strong { font-size:28px; }
  .metric strong small { margin-left:4px; font-size:10px; }
  .metric>span,.metric em { font-size:11px; }
  .two-columns { grid-template-columns:1fr; gap:0; }
  .padded,.section-heading { padding:18px; }
  .section-heading { align-items:flex-start; gap:12px; flex-wrap:wrap; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid .field:has(textarea) { grid-column:auto; }
  .filter-bar { padding:16px; }
  .order-filters { gap:12px; }
  .filter-actions { grid-column:1/-1; justify-content:space-between; flex-wrap:wrap; gap:10px; }
  .catalog-filters .filter-field { width:100%; }
  .catalog-filters .button { flex-shrink:0; }
  .pagination { padding:14px 16px; flex-wrap:wrap; }
  .sticky-actions { flex-wrap:wrap; gap:14px; }
  .sticky-actions .button { margin-left:auto; }
  .payment-summary { gap:24px; padding:18px; }
  .info-list>div { grid-template-columns:105px minmax(0,1fr); }
  .login-card { padding:28px; }
}
@media(max-width:400px) {
  .metric-grid:not(.four) { grid-template-columns:1fr; }
  .metric-grid:not(.four) .metric { display:grid; grid-template-columns:1fr auto; gap:4px 10px; }
  .metric-grid:not(.four) .metric strong { grid-column:2; grid-row:1/3; margin:0; align-self:center; }
  .metric-grid:not(.four) .metric em { grid-column:1; }
  .order-filters { grid-template-columns:1fr; }
  .filter-actions { grid-column:auto; }
}

/* Manufacturing print layout. */
.print-page{background:#edf0f3;padding:25px}.print-controls{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.print-sheet{max-width:900px;background:#fff;margin:0 auto;padding:44px 48px}.print-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid #dbe4eb}.print-heading p{font-size:10px;letter-spacing:1px;color:#8e9ba6;margin:9px 0 0}.print-heading>div:last-child{text-align:right;font-size:12px}.print-sheet h1{font-size:21px}.print-info{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;font-size:11px;margin:24px 0}.print-info>div{display:flex;gap:15px}.print-info dt{color:#8d99a3;min-width:85px}.print-info dd{margin:0}.print-sheet th,.print-sheet td{padding:12px 9px;font-size:10px}.print-totals{display:flex;justify-content:space-between;margin:22px 0 35px;font-size:12px}.print-totals>div{text-align:right}.print-totals p{font-size:11px}.print-sheet h2{font-size:12px;margin:22px 0 8px}.print-sheet>.preserve{font-size:11px}.print-footer{margin-top:45px;padding-top:15px;border-top:1px solid #e4e9ed;font-size:9px;color:#94a0a9}
@media print{@page{size:A4;margin:14mm}.print-page{background:#fff;padding:0}.print-controls{display:none}.print-sheet{padding:0;max-width:none}.print-heading{margin-bottom:20px}.print-info{grid-template-columns:1fr 1fr}.print-sheet h1{font-size:19px}.print-sheet table{font-size:9px}.print-sheet th,.print-sheet td{padding:9px 6px}thead{display:table-header-group}tr,.print-totals,.print-info{break-inside:avoid}.print-sheet h2{break-after:avoid}.print-footer{font-size:8px}a{color:inherit}}

/* System-generated identifiers remain readable on narrow screens and printouts. */
.order-number, .table-wrap a.strong { overflow-wrap: anywhere; }
