/* CraftGrid Planning Intelligence - desktop + mobile */
.planning-mobile-list{display:none}
.planning-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.planning-kpi-card{position:relative;overflow:hidden;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.9rem;padding:1rem 1.05rem;text-align:left;background:var(--bs-body-bg,#fff);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}
.planning-kpi-card::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#0d6efd;opacity:0;transition:opacity .15s ease}
.planning-kpi-card:hover{transform:translateY(-1px);border-color:rgba(13,110,253,.35);box-shadow:0 .35rem 1rem rgba(0,0,0,.08)!important}
.planning-kpi-card:hover .planning-kpi-icon{transform:scale(1.03)}
.planning-kpi-card:focus-visible{outline:3px solid rgba(13,110,253,.25);outline-offset:2px}
.planning-kpi-card[aria-pressed="true"]{border-color:#0d6efd;background:rgba(13,110,253,.025);box-shadow:0 0 0 .2rem rgba(13,110,253,.10),0 .35rem 1rem rgba(0,0,0,.06)!important}
.planning-kpi-card[aria-pressed="true"]::after{opacity:1}
.planning-kpi-card[aria-pressed="true"] .planning-kpi-icon{transform:scale(1.03)}
.planning-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.55rem;background:rgba(13,110,253,.1);color:#0d6efd;margin-bottom:.45rem;transition:transform .15s ease}
.planning-kpi-icon.planning-kpi-danger{background:rgba(220,53,69,.1);color:#dc3545}
.planning-kpi-icon.planning-kpi-warning{background:rgba(255,193,7,.18);color:#8a6500}
.planning-active-filter{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .8rem;border:1px solid rgba(13,110,253,.2);background:rgba(13,110,253,.045);border-radius:.65rem;color:#21486e}
.planning-active-filter .btn-link{text-decoration:none;font-weight:600}
.planning-client-empty{padding:1rem;text-align:center;color:var(--bs-secondary-color,#6c757d);border:1px dashed var(--bs-border-color,#dee2e6);margin:.75rem;border-radius:.65rem}
.planning-empty-icon{font-size:1.45rem;color:#198754;margin-bottom:.25rem}
.planning-mobile-card{background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dee2e6);border-radius:.75rem;padding:1rem;margin:.75rem 0;box-shadow:0 .125rem .25rem rgba(0,0,0,.04)}
.planning-mobile-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.planning-mobile-title{font-weight:700;line-height:1.25}
.planning-mobile-subtitle{font-size:.8rem;color:var(--bs-secondary-color,#6c757d);margin-top:.2rem;white-space:normal}
.planning-mobile-location{margin-top:.75rem;padding:.55rem .65rem;background:var(--bs-tertiary-bg,#f8f9fa);border-radius:.55rem}
.planning-mobile-location span,.planning-mobile-metrics span,.planning-mobile-batch span{display:block;font-size:.7rem;color:var(--bs-secondary-color,#6c757d);line-height:1.2}
.planning-mobile-location strong{display:block;font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}
.planning-mobile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.7rem}
.planning-mobile-metrics>div{background:var(--bs-tertiary-bg,#f8f9fa);border-radius:.55rem;padding:.55rem .65rem;min-width:0}
.planning-mobile-metrics strong,.planning-mobile-batch strong{display:block;font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
.planning-mobile-reason{margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--bs-border-color,#dee2e6);font-size:.8rem;color:var(--bs-secondary-color,#6c757d);line-height:1.4}
.planning-mobile-batch{margin-top:.75rem;padding:.55rem .65rem;background:var(--bs-tertiary-bg,#f8f9fa);border-radius:.55rem}
.planning-risk-danger{background:#dc3545!important;color:#fff!important}
.planning-risk-warning{background:#ffc107!important;color:#212529!important}
.planning-empty{padding:1rem;text-align:center;color:var(--bs-secondary-color,#6c757d);border:1px dashed var(--bs-border-color,#dee2e6);border-radius:.65rem;margin:.75rem 0}
.planning-filter-card .card-body{padding:1rem}
.planning-policy-card .form-label{font-weight:600;font-size:.88rem}
.planning-save-row{margin-bottom:.25rem}
@media (max-width:1100px){
  .planning-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767.98px){
  .planning-page-header{align-items:stretch}
  .planning-page-header .btn{width:100%}
  .planning-filter-card .row{row-gap:.75rem}
  .planning-filter-card .btn{min-height:44px}
  .planning-desktop-table{display:none!important}
  .planning-mobile-list{display:block}
  .planning-mobile-card{margin-left:0;margin-right:0}
  .planning-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .planning-kpi-card{padding:.8rem .75rem;min-height:132px}
  .planning-kpi-card .fs-3{font-size:1.55rem!important}
  .planning-active-filter{align-items:flex-start}
  .planning-policy-card .card-header{padding:.85rem 1rem}
  .planning-policy-card .card-body{padding:.9rem}
  .planning-policy-card .row{row-gap:.85rem}
  .planning-policy-card .form-control,.planning-policy-card .form-select{min-height:44px}
  .planning-save-row{position:sticky;bottom:.5rem;z-index:10;background:rgba(255,255,255,.94);padding:.6rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.75rem;box-shadow:0 .25rem .8rem rgba(0,0,0,.08)}
  .planning-save-row .btn{width:100%;min-height:46px}
}

/* Planning field/header help */
.planning-help{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.05rem;
    height:1.05rem;
    margin-left:.2rem;
    padding:0;
    border:1px solid #9aa8b5;
    border-radius:50%;
    background:transparent;
    color:#5b7083;
    font-size:.68rem;
    font-weight:700;
    line-height:1;
    vertical-align:middle;
    cursor:help;
    transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform .12s ease;
}
.planning-help:hover,
.planning-help:focus-visible{
    background:#eaf3ff;
    color:#0d6efd;
    border-color:#7aaef5;
    transform:scale(1.04);
    outline:none;
}
.planning-help-popover{
    position:fixed;
    z-index:1085;
    max-width:min(320px,calc(100vw - 24px));
    padding:.65rem .75rem;
    border:1px solid rgba(13,110,253,.18);
    border-radius:.55rem;
    background:#fff;
    color:#243746;
    box-shadow:0 .45rem 1.25rem rgba(0,0,0,.14);
    font-size:.78rem;
    line-height:1.4;
    font-weight:400;
    text-align:left;
    pointer-events:auto;
}
.planning-help-popover::before{
    content:"";
    position:absolute;
    width:.5rem;
    height:.5rem;
    background:#fff;
    border-left:1px solid rgba(13,110,253,.18);
    border-top:1px solid rgba(13,110,253,.18);
    transform:rotate(45deg);
    top:-.28rem;
    left:1rem;
}
.planning-help-popover.is-below::before{
    top:-.28rem;
}
.planning-help-popover.is-above::before{
    top:auto;
    bottom:-.28rem;
    transform:rotate(225deg);
}
@media (max-width:767.98px){
    .planning-help{
        width:1.15rem;
        height:1.15rem;
        font-size:.7rem;
        cursor:pointer;
    }
    .planning-help-popover{
        max-width:calc(100vw - 20px);
        font-size:.8rem;
    }
}

/* Planning Intelligence drill-down values */
.planning-drilldown-value {
    color: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 0.18em;
    font-weight: inherit;
    cursor: pointer;
}
.planning-drilldown-value:hover {
    text-decoration-style: solid;
}
