body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")
}
.surface,.resource-card,.data-surface,.queue{
  --spot-x:50%;--spot-y:50%;
}
.surface::before,.resource-card::before,.data-surface::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity var(--normal);
  background:radial-gradient(420px circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.07),transparent 46%);
  z-index:0
}
.surface:hover::before,.resource-card:hover::before,.data-surface:hover::before{opacity:1}
.resource-card,.data-surface{position:relative;overflow:hidden}.resource-card>*{position:relative;z-index:1}
.map::after{
  content:"";position:absolute;left:0;right:0;top:-30%;height:18%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.045),transparent);
  animation:scanMap 8s linear infinite
}
@keyframes scanMap{to{top:112%}}
.attention-frame{position:relative}
.attention-frame::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;
  background:linear-gradient(110deg,transparent 15%,rgba(249,64,6,.75),transparent 48%,rgba(127,169,255,.55),transparent 84%);
  background-size:220% 100%;animation:borderFlow 8s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none
}
@keyframes borderFlow{to{background-position:220% 0}}
.pulse-ribbon{
  display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:12px;margin-bottom:16px
}
.pulse-module{
  min-height:112px;padding:16px 17px;border-radius:21px;border:1px solid var(--line);
  background:linear-gradient(145deg,var(--panel),var(--panel-soft));backdrop-filter:blur(22px);
  position:relative;overflow:hidden;box-shadow:var(--shadow-soft)
}
.pulse-module::after{
  content:"";position:absolute;right:-35px;bottom:-50px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(249,64,6,.15),transparent 68%);pointer-events:none
}
.pulse-head{display:flex;align-items:center;gap:8px}.pulse-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(249,64,6,.11);color:var(--accent-2);font-size:12px}
.pulse-title{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:var(--text-faint)}
.pulse-main{font-size:18px;font-weight:850;letter-spacing:-.035em;margin-top:10px}.pulse-note{font-size:8px;color:var(--text-faint);margin-top:4px}
.wave{height:32px;margin-top:8px;display:flex;align-items:flex-end;gap:3px}.wave span{flex:1;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--accent-2),rgba(249,64,6,.18));animation:wavePulse 3.2s ease-in-out infinite;transform-origin:bottom}.wave span:nth-child(2n){animation-delay:-.7s}.wave span:nth-child(3n){animation-delay:-1.4s}
@keyframes wavePulse{50%{transform:scaleY(.65);opacity:.7}}
.orbit{
  width:47px;height:47px;border-radius:50%;border:1px solid var(--line-strong);position:relative;display:grid;place-items:center;margin-left:auto
}
.orbit::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 12px rgba(102,221,162,.7);animation:orbit 4s linear infinite;transform-origin:3px 23px}
@keyframes orbit{to{transform:rotate(360deg)}}
.orbit strong{font-size:11px}

.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.metric-card{padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--panel);backdrop-filter:blur(20px);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
.metric-card small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-weight:900}.metric-card strong{display:block;font-size:21px;letter-spacing:-.045em;margin-top:7px}.metric-card em{display:block;font-style:normal;font-size:8px;color:var(--text-faint);margin-top:4px}
.metric-trend{position:absolute;right:13px;top:13px;font-size:8px;font-weight:900;color:var(--success);background:rgba(102,221,162,.1);padding:5px 7px;border-radius:999px}

.quote-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.65fr);gap:14px}
.quote-stack{display:grid;gap:12px}
.quote-card{padding:17px;border:1px solid var(--line);border-radius:21px;background:var(--panel);backdrop-filter:blur(22px);transition:var(--fast) var(--ease);cursor:pointer;position:relative;overflow:hidden}
.quote-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-soft)}
.quote-top{display:flex;align-items:flex-start;gap:12px}.quote-number{font-size:9px;color:var(--text-faint);font-weight:900;letter-spacing:.07em}.quote-customer{font-size:13px;font-weight:900;margin-top:5px}.quote-price{margin-left:auto;text-align:right;font-size:18px;font-weight:900;letter-spacing:-.04em}.quote-price small{display:block;font-size:8px;color:var(--text-faint);font-weight:700;margin-top:3px}
.quote-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.quote-meta{padding:9px;border-radius:12px;border:1px solid var(--line);background:var(--panel-soft)}.quote-meta small{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.quote-meta strong{display:block;font-size:9px;margin-top:4px}
.approval-rail{padding:18px}.approval-step{display:grid;grid-template-columns:26px 1fr;gap:10px;min-height:65px}.approval-step .step-index{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;font-size:8px;font-weight:900;background:var(--panel-soft);border:1px solid var(--line)}.approval-step.done .step-index{background:rgba(102,221,162,.12);color:var(--success)}.approval-step.active .step-index{background:rgba(249,64,6,.13);color:var(--accent-2);box-shadow:0 0 0 5px rgba(249,64,6,.05)}.approval-step h4{font-size:10px;margin:2px 0 0}.approval-step p{font-size:8px;color:var(--text-faint);margin:4px 0 0;line-height:1.45}

.inspection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.inspection-card{padding:17px;border-radius:22px;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(22px);box-shadow:var(--shadow-soft);transition:var(--fast);cursor:pointer}.inspection-card:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.inspection-time{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--text-faint)}.inspection-time strong{font-size:18px;color:var(--text);letter-spacing:-.04em}.inspection-title{font-size:13px;font-weight:900;margin-top:13px}.inspection-route{font-size:9px;color:var(--text-faint);margin-top:5px}.checklist{display:grid;gap:7px;margin-top:14px}.check-row{display:flex;align-items:center;gap:8px;font-size:8px;color:var(--text-soft)}.check-dot{width:16px;height:16px;border-radius:6px;display:grid;place-items:center;background:var(--panel-soft);border:1px solid var(--line);font-size:8px}.check-dot.done{background:rgba(102,221,162,.12);color:var(--success)}.inspection-progress{height:6px;border-radius:999px;background:var(--panel-soft);margin-top:13px;overflow:hidden}.inspection-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}

.kanban{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:12px;overflow:auto}
.kanban-col{padding:13px;border:1px solid var(--line);border-radius:21px;background:color-mix(in srgb,var(--panel) 72%,transparent);min-height:470px}
.kanban-head{display:flex;align-items:center;gap:8px;padding:3px 3px 12px}.kanban-title{font-size:10px;font-weight:900}.kanban-count{margin-left:auto;font-size:8px;color:var(--text-faint);border:1px solid var(--line);padding:4px 6px;border-radius:999px}
.task-card{padding:13px;border-radius:16px;border:1px solid var(--line);background:var(--panel-strong);margin-bottom:9px;box-shadow:0 10px 25px rgba(0,0,0,.08);transition:var(--fast);cursor:grab}.task-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.task-card.completed{opacity:.5}.task-card.completed .task-title{text-decoration:line-through}.task-labels{display:flex;gap:5px;flex-wrap:wrap}.task-label{font-size:7px;font-weight:900;padding:4px 6px;border-radius:999px;background:rgba(127,169,255,.12);color:var(--info)}.task-label.urgent{background:rgba(255,120,111,.12);color:var(--danger)}.task-title{font-size:10px;font-weight:900;margin-top:9px;line-height:1.4}.task-meta{display:flex;align-items:center;gap:7px;margin-top:11px;font-size:8px;color:var(--text-faint)}.task-complete{margin-left:auto;border:1px solid var(--line);background:var(--panel-soft);color:var(--text-soft);border-radius:8px;padding:5px 7px;font-size:7px;font-weight:900}

.document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.document-card{min-height:190px;border:1px solid var(--line);border-radius:21px;background:var(--panel);backdrop-filter:blur(22px);box-shadow:var(--shadow-soft);overflow:hidden;cursor:pointer;transition:var(--fast)}.document-card:hover{transform:translateY(-4px);border-color:var(--line-strong)}
.doc-preview{height:108px;background:linear-gradient(145deg,var(--panel-soft),rgba(249,64,6,.07));display:grid;place-items:center;position:relative;border-bottom:1px solid var(--line)}.doc-preview::before{content:"";position:absolute;width:64px;height:82px;border-radius:6px;background:var(--surface);box-shadow:0 12px 28px rgba(0,0,0,.15)}.doc-preview::after{content:"";position:absolute;width:38px;height:2px;background:#ccc;box-shadow:0 9px #ddd,0 18px #ddd,0 27px #ddd}.doc-type{position:absolute;left:10px;top:10px;font-size:7px;font-weight:900;color:#fff;background:var(--accent);padding:5px 6px;border-radius:7px;z-index:1}