﻿/* ===== 3D icon tiles: every section has its own colour; a glossy gradient tile with a top shine,
   a darker bottom edge and a soft coloured shadow. Used in the sidebar, the dashboard cards,
   page/section headings and card icons. Icons themselves stay the light line icons (white on the tile). ===== */
svg[data-ic]{--c1:#c9b48a;--c2:#8a6a3c}
svg[data-ic=dash]{--c1:#ffd27a;--c2:#c47f12}
svg[data-ic=cal]{--c1:#7cbcff;--c2:#2563d9}
svg[data-ic=fin]{--c1:#6ee7a8;--c2:#0f8a52}
svg[data-ic=clients],svg[data-ic=partners]{--c1:#c09bff;--c2:#6a3bd2}
svg[data-ic=companies],svg[data-ic=govs]{--c1:#52dbd4;--c2:#0b8790}
svg[data-ic=cases]{--c1:#ffbf75;--c2:#cf6410}
svg[data-ic=hearings]{--c1:#9aa6ff;--c2:#3d4bd1}
svg[data-ic=petitions]{--c1:#86d6ff;--c2:#1784c7}
svg[data-ic=poa]{--c1:#ff9bbb;--c2:#cc3466}
svg[data-ic=invoices]{--c1:#79e8bd;--c2:#0c8c61}
svg[data-ic=expenses]{--c1:#ff9686;--c2:#d23a27}
svg[data-ic=tasks]{--c1:#cfe97a;--c2:#739a0f}
svg[data-ic=jobs]{--c1:#6ad8f5;--c2:#1786b0}
svg[data-ic=scan]{--c1:#a8bccf;--c2:#475f7a}
svg[data-ic=arch],svg[data-ic=archive]{--c1:#e0bd95;--c2:#86572c}
svg[data-ic=trash]{--c1:#bcc3cf;--c2:#636b79}
svg[data-ic=nt],svg[data-ic=bell]{--c1:#ffdc6b;--c2:#d98f00}
svg[data-ic=set]{--c1:#b4bfcc;--c2:#556170}
svg[data-ic=prof],svg[data-ic=user]{--c1:#ffa6d4;--c2:#c03e85}
svg[data-ic=bene]{--c1:#9fe0ff;--c2:#2a7fc0}

/* the tile */
.nv svg[data-ic],.ic>svg[data-ic],.kc .ic svg[data-ic],.cd>.hd h2>svg[data-ic]:first-child{
  box-sizing:border-box;color:#fff;stroke:#fff;stroke-width:2.3;
  background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 46%,rgba(0,0,0,0) 54%,rgba(0,0,0,.10) 100%),linear-gradient(145deg,var(--c1),var(--c2));
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -2.5px 0 rgba(0,0,0,.22),0 5px 12px -4px color-mix(in srgb,var(--c2) 75%,transparent),0 1px 2px rgba(0,0,0,.18);
  filter:drop-shadow(0 .5px 0 rgba(0,0,0,.15));
  transition:transform .22s cubic-bezier(.2,.8,.2,1.4),box-shadow .22s;transform-origin:50% 60%}
/* sidebar */
.nv svg[data-ic]{width:30px!important;height:30px!important;padding:6.5px;border-radius:10px;flex-shrink:0}
.nv:hover svg[data-ic],.nv:focus-visible svg[data-ic]{transform:perspective(120px) translateY(-2px) rotateX(14deg) rotateY(-8deg) scale(1.06);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -2.5px 0 rgba(0,0,0,.22),0 10px 18px -6px color-mix(in srgb,var(--c2) 85%,transparent),0 2px 4px rgba(0,0,0,.2)}
.nv.on svg[data-ic]{box-shadow:inset 0 1.5px 0 rgba(255,255,255,.6),inset 0 -2.5px 0 rgba(0,0,0,.22),0 0 0 2px rgba(255,255,255,.85),0 6px 14px -4px rgba(0,0,0,.35)}
/* dashboard cards and card icons: the wrapper becomes transparent, the svg is the tile */
.ic:has(>svg[data-ic]){background:none!important;width:auto!important;height:auto!important}
.ic>svg[data-ic],.kc .ic svg[data-ic]{width:44px!important;height:44px!important;padding:10px;border-radius:14px}
.kc:hover .ic svg[data-ic]{transform:perspective(160px) translateY(-3px) rotateX(12deg) rotateY(-10deg) scale(1.05)}
/* headings of sections (client / company / case pages) */
.cd>.hd h2>svg[data-ic]:first-child{width:26px!important;height:26px!important;padding:5.5px;border-radius:8px;vertical-align:-7px!important;margin-left:4px}
/* phones: the sidebar grid uses bigger tiles */
@media(max-width:760px){.nv svg[data-ic]{width:34px!important;height:34px!important;padding:7px;border-radius:11px}}
@media (prefers-reduced-motion:reduce){.nv svg[data-ic],.ic>svg[data-ic],.kc .ic svg[data-ic]{transition:none}.nv:hover svg[data-ic],.kc:hover .ic svg[data-ic]{transform:none}}
/* client / company / case pages: 4 narrow cards — icon on top, number gets the full width */.cop .kc{flex-direction:column;align-items:flex-start;gap:8px}.cop .kc>div:not(.ic){width:100%}.cop .kc .ic svg[data-ic]{width:36px!important;height:36px!important;padding:8px;border-radius:11px}
/* receipt dialog: settings row + action tiles */.rctb{display:flex;flex-direction:column;gap:12px;margin-bottom:10px;padding:12px;border:1px solid var(--bo);border-radius:14px;background:color-mix(in srgb,var(--bo) 18%,transparent)}.rcset{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;align-items:end}.rcf{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mu);min-width:0}.rcf input,.rcf select{min-height:40px;width:100%;min-width:0}.rcamt{display:flex;align-items:center;gap:8px;min-height:40px;font-size:15px}.rcsw{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--bo);border-radius:10px;cursor:pointer;font-size:13px;background:var(--sf,transparent)}.rcsw input{width:18px;height:18px;accent-color:var(--ac)}.rcact{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.rcb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;padding:8px 4px;border:1px solid var(--bo);border-radius:14px;background:var(--sf,#fff);color:var(--tx);font-family:inherit;font-weight:600;font-size:12.5px;cursor:pointer;transition:transform .15s,box-shadow .2s,border-color .2s}.rcb:hover{border-color:color-mix(in srgb,var(--c2,#888) 50%,var(--bo));box-shadow:0 8px 18px -10px rgba(0,0,0,.35);transform:translateY(-1px)}.rcb:disabled{opacity:.6;cursor:progress}.rcb svg{box-sizing:border-box;width:38px;height:38px;padding:8.5px;border-radius:12px;color:#fff;stroke:#fff;stroke-width:2.2;background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 46%,rgba(0,0,0,0) 54%,rgba(0,0,0,.1) 100%),linear-gradient(145deg,var(--c1),var(--c2));box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -2.5px 0 rgba(0,0,0,.22),0 5px 12px -4px color-mix(in srgb,var(--c2) 75%,transparent);transition:transform .22s cubic-bezier(.2,.8,.2,1.4)}.rcb:hover svg{transform:perspective(120px) translateY(-2px) rotateX(14deg) rotateY(-8deg) scale(1.06)}.rcb[data-a=rcprint] svg{--c1:#a8b6c6;--c2:#4b5b6e}.rcb[data-f=pdf] svg{--c1:#ff8f86;--c2:#d0302a}.rcb[data-f=jpg] svg{--c1:#7cbcff;--c2:#2563d9}.rcb[data-a=rcwa] svg{--c1:#5fe08f;--c2:#13a24f}.rcb[data-a=rcmail] svg{--c1:#ffbf75;--c2:#cf6410}.rcb1 svg{--c1:#ffd27a;--c2:#c47f12}.rcb1{background:linear-gradient(145deg,color-mix(in srgb,#ffd27a 22%,var(--sf,#fff)),var(--sf,#fff));border-color:color-mix(in srgb,#c47f12 45%,var(--bo))}@media(max-width:600px){.rcact{grid-template-columns:repeat(3,minmax(0,1fr))}.rcb{min-height:70px}}
@media(max-width:600px){.rcset{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rcset .rcsw,.rcset .rcamt{grid-column:1/-1}.rctb{padding:10px}}
/* lawyer workspaces */.wsg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}.wsb{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--bo);border-radius:14px;background:var(--sf,#fff);color:var(--tx);font-family:inherit;text-align:right;cursor:pointer;transition:transform .15s,box-shadow .2s,border-color .2s}.wsb:hover{transform:translateY(-2px);border-color:var(--ac);box-shadow:0 10px 22px -12px rgba(0,0,0,.35)}.wsav{flex:none;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0) 50%),linear-gradient(145deg,#c09bff,#6a3bd2);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -2.5px 0 rgba(0,0,0,.22),0 6px 14px -5px rgba(106,59,210,.6);overflow:hidden}.wsav img{width:100%;height:100%;object-fit:cover}.wsnm{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wsnm b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsnm .mu{font-size:12px}.wsgo{flex:none;font-size:18px;color:var(--ac)}.wsbn{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#6a3bd2,#3d2391);color:#fff;font-size:14px;box-shadow:0 10px 24px -14px rgba(61,35,145,.8);flex-shrink:0}.wsbn b{color:#ffe08a}.wsbk{border:0;border-radius:10px;padding:9px 14px;background:#fff;color:#3d2391;font:inherit;font-weight:700;cursor:pointer;min-height:40px}.wsbk:hover{background:#ffe08a}
.wsst{font-style:normal;font-size:12px;font-weight:700}
