/* ============================================================
   AOMTANG INTERSITE PRO V2
   SHARED TWO-SHEET TAB CONTRACT V1

   Geometry:
     Title  = 78%
     List   = 11%
     Detail = 11%
     Height = 58px
     Curve  = 28px
     Border = 1.5px #7f93a5
   ============================================================ */

.noc-sheet-workspace{
    box-sizing:border-box;
    height:100%;
    min-height:0;

    display:flex;
    flex-direction:column;

    overflow:hidden;

    background:#fff;

    border:1.5px solid #7f93a5;
    border-radius:20px 20px 12px 12px;

    box-shadow:0 4px 16px rgba(35,58,74,.05);
}


/* ============================================================
   HEADER SHEET
   ============================================================ */

.noc-sheet-header{
    position:relative;

    flex:0 0 58px;

    width:100%;
    height:58px;
    min-height:58px;
    max-height:58px;

    display:grid;

    grid-template-columns:
        minmax(0,78fr)
        minmax(0,11fr)
        minmax(0,11fr);

    overflow:hidden;

    border-radius:18px 18px 0 0;
}


/*
 * Backing color only.
 * Geometry never changes between states.
 */

.noc-sheet-workspace.list-active
.noc-sheet-header{
    background:#e5edf4;
}

.noc-sheet-workspace.detail-active
.noc-sheet-header{
    background:#fff;
}


/* ============================================================
   TITLE AREA — 78%
   ============================================================ */

.noc-sheet-title{
    box-sizing:border-box;

    height:58px;
    min-width:0;

    display:grid;

    grid-template-columns:
        auto
        minmax(0,1fr);

    grid-template-rows:
        27px
        17px;

    align-content:center;

    padding:5px 20px;

    background:#fff;

    border-bottom:1.5px solid #7f93a5;
}

.noc-sheet-title h1{
    grid-column:1 / 3;
    grid-row:1;

    min-width:0;

    margin:0;

    color:#1f2f3f;

    font-family:"Noto Sans Thai",sans-serif;
    font-size:1.02rem;
    font-weight:700;
    line-height:1.15;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.noc-sheet-title p{
    grid-column:1 / 3;
    grid-row:2;

    min-width:0;

    margin:0;

    color:#64748b;

    font-family:"Noto Sans Thai",sans-serif;
    font-size:.78rem;
    font-weight:400;
    line-height:1.15;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}


/* ============================================================
   COMMON TAB
   ============================================================ */

.noc-sheet-tab{
    -webkit-appearance:none;
    appearance:none;

    box-sizing:border-box;

    position:relative;

    width:100%;
    height:58px;

    margin:0;
    padding:0 10px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-family:"Noto Sans Thai",sans-serif;
    font-size:.86rem;
    font-weight:600;
    line-height:1;

    text-align:center;
    text-decoration:none;
    white-space:nowrap;

    cursor:pointer;

    transform:none;
    box-shadow:none;

    transition:
        background-color .12s ease,
        color .12s ease;
}

.noc-sheet-tab::before,
.noc-sheet-tab::after{
    content:none !important;
    display:none !important;
}


/* ============================================================
   LIST TAB — 11%
   Fixed geometry.
   ============================================================ */

.noc-sheet-tab-list{
    z-index:2;

    overflow:hidden;

    border-top:0;
    border-left:1.5px solid #7f93a5;
    border-right:1.5px solid #7f93a5;

    border-top-left-radius:0;
    border-top-right-radius:28px;
    border-bottom-right-radius:0;
    border-bottom-left-radius:0;
}


/* ============================================================
   DETAIL TAB — 11%
   Fixed geometry.
   ============================================================ */

.noc-sheet-tab-detail{
    z-index:1;

    overflow:hidden;

    border-top:0;
    border-left:0;
    border-right:0;

    border-radius:0;
}


/* ============================================================
   ACTIVE / INACTIVE STATE
   Geometry MUST NOT change.
   ============================================================ */

.noc-sheet-tab.is-active{
    background:#fff;
    color:#101827;

    border-bottom:0;
}

.noc-sheet-tab:not(.is-active){
    background:#e5edf4;
    color:#657b91;

    border-bottom:1.5px solid #7f93a5;
}

.noc-sheet-tab:hover{
    color:#087fb8;
}


/* ============================================================
   CONTENT AREA
   ============================================================ */

.noc-sheet-content{
    box-sizing:border-box;

    flex:1 1 auto;

    min-width:0;
    min-height:0;

    padding:10px 12px 12px;

    overflow:auto;

    background:#f3f8fa;
}


/* ============================================================
   LIST CONTROLS
   ============================================================ */

.noc-sheet-controls{
    min-height:40px;

    margin:0 0 8px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:12px;
}

.noc-sheet-controls-left,
.noc-sheet-controls-right{
    display:flex;
    align-items:center;
    gap:8px;
}

.noc-sheet-button{
    box-sizing:border-box;

    min-height:36px;

    padding:0 14px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:6px;

    border:1px solid #b9cad6;
    border-radius:6px;

    background:#fff;
    color:#23435c;

    font-family:"Noto Sans Thai",sans-serif;
    font-size:.80rem;
    font-weight:650;

    text-decoration:none;
    white-space:nowrap;
}

.noc-sheet-button:hover{
    border-color:#7fa9c2;
    background:#f7fbfd;
}

.noc-sheet-button.primary{
    border-color:#087fb8;
    background:#087fb8;
    color:#fff;
}

.noc-sheet-button.primary:hover{
    border-color:#076f9f;
    background:#076f9f;
}


/* ============================================================
   TABLE SHELL
   ============================================================ */

.noc-sheet-table-shell{
    overflow:hidden;

    background:#fff;

    border:1px solid #d7e3e9;
    border-radius:12px;

    box-shadow:0 3px 12px rgba(35,58,74,.04);
}

.noc-sheet-table{
    width:100%;
    min-width:0;

    table-layout:fixed;

    border-collapse:collapse;
    border-spacing:0;

    font-family:"Noto Sans Thai",sans-serif;
    font-size:.82rem;
    font-weight:500;
}

.noc-sheet-table th,
.noc-sheet-table td{
    box-sizing:border-box;

    min-width:0;

    border-top:0;
    border-left:0;
    border-right:1px solid #d5e0e6;
    border-bottom:1px solid #d5e0e6;
}

.noc-sheet-table th:last-child,
.noc-sheet-table td:last-child{
    border-right:0;
}

.noc-sheet-table thead th{
    height:31px;
    min-height:31px;

    padding:4px 7px;

    background:#e3eef3;
    color:#435d6e;

    font-size:.78rem;
    font-weight:700;
    line-height:1.05;

    text-align:center;
}

.noc-sheet-table tbody td{
    height:31px;
    min-height:31px;

    padding:3px 8px;

    color:#2b4050;

    font-size:.82rem;
    line-height:1.05;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.noc-sheet-table tbody tr:nth-child(odd) td{
    background:#fff;
}

.noc-sheet-table tbody tr:nth-child(even) td{
    background:#f7fafb;
}

.noc-sheet-table tbody tr:hover td{
    background:#edf7f7;
}

.noc-sheet-link{
    color:#0087c9;
    font-weight:600;
    text-decoration:none;
}

.noc-sheet-link:hover{
    color:#0369a1;
    text-decoration:underline;
}

.noc-sheet-empty{
    height:180px !important;

    text-align:center !important;

    color:#64748b !important;
    background:#fff !important;
}


/* ============================================================
   DETAIL WORKSPACE
   ============================================================ */

.noc-sheet-detail-card{
    box-sizing:border-box;

    width:min(760px,100%);

    padding:18px;

    background:#fff;

    border:1px solid #d7e3e9;
    border-radius:12px;

    box-shadow:0 3px 12px rgba(35,58,74,.04);
}

.noc-sheet-detail-card h2{
    margin:0;

    color:#1f2f3f;

    font-size:1rem;
    font-weight:700;
}

.noc-sheet-detail-card .detail-subtitle{
    margin:2px 0 16px;

    color:#64748b;

    font-size:.78rem;
}

.noc-sheet-detail-card form p{
    margin:0 0 13px;
}

.noc-sheet-detail-card label{
    display:block;

    margin-bottom:4px;

    color:#435d6e;

    font-size:.78rem;
    font-weight:700;
}

.noc-sheet-detail-card input,
.noc-sheet-detail-card select,
.noc-sheet-detail-card textarea{
    box-sizing:border-box;

    width:100%;
    min-height:38px;

    padding:6px 9px;

    border:1px solid #b8cad8;
    border-radius:7px;

    background:#fff;

    font-family:"Noto Sans Thai",sans-serif;
}

.noc-sheet-detail-actions{
    margin-top:18px;

    display:flex;
    align-items:center;

    gap:8px;
}


/* ============================================================
   RESPONSIVE
   Desktop geometry remains canonical.
   ============================================================ */

@media(max-width:900px){

    .noc-sheet-header{
        grid-template-columns:
            minmax(0,56fr)
            minmax(0,22fr)
            minmax(0,22fr);
    }

    .noc-sheet-title{
        padding-left:12px;
        padding-right:12px;
    }

    .noc-sheet-tab{
        padding-left:6px;
        padding-right:6px;
        font-size:.78rem;
    }

    .noc-sheet-controls{
        align-items:stretch;
        flex-direction:column;
    }

    .noc-sheet-controls-right{
        justify-content:flex-end;
    }
}

/* ============================================================
   AOMTANG INTERSITE PRO V2
   FINAL TWO-TAB VISUAL AUTHORITY

   Radius Production Final:
     topology       78 / 11 / 11
     height         58px
     outer radius   10px
     internal curve 14px
     inactive       #d4e3ee / #61788f / 600
     active         #ffffff / #17263a / 700
     active accent  3px #16a6d9
   ============================================================ */


/* ------------------------------------------------------------
   OUTER WORKSPACE FRAME
   ------------------------------------------------------------ */

.noc-sheet-workspace{
    border:1.5px solid #7f93a5 !important;
    border-radius:10px !important;
    overflow:hidden !important;
}


/* ------------------------------------------------------------
   HEADER SHEET
   ------------------------------------------------------------ */

.noc-sheet-header{
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;

    grid-template-columns:
        minmax(0,78fr)
        minmax(0,11fr)
        minmax(0,11fr) !important;

    border-radius:
        10px
        10px
        0
        0 !important;

    overflow:hidden !important;
}


/* ------------------------------------------------------------
   TITLE AREA
   ------------------------------------------------------------ */

.noc-sheet-title{
    height:58px !important;

    padding:
        5px
        20px !important;

    background:#ffffff !important;

    border-bottom:
        1.5px solid #7f93a5 !important;
}

.noc-sheet-title h1{
    margin:0 !important;

    color:#1f2f3f !important;

    font-size:20px !important;
    font-weight:700 !important;
    line-height:20px !important;

    letter-spacing:-0.4px !important;
}

.noc-sheet-title p{
    margin:0 !important;

    color:#64748b !important;

    font-size:11px !important;
    font-weight:400 !important;
    line-height:12.65px !important;

    letter-spacing:normal !important;
}


/* ------------------------------------------------------------
   COMMON TAB GEOMETRY
   ------------------------------------------------------------ */

.noc-sheet-tab{
    -webkit-appearance:none !important;
    appearance:none !important;

    box-sizing:border-box !important;

    position:relative !important;

    width:100% !important;
    height:58px !important;

    margin:0 !important;
    padding:0 10px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:
        0
        14px
        0
        0 !important;

    font-family:"Noto Sans Thai",sans-serif !important;
    font-size:.86rem !important;
    line-height:1 !important;

    letter-spacing:0 !important;

    transform:none !important;
}


/* No decorative pseudo-elements. */

.noc-sheet-tab::before,
.noc-sheet-tab::after{
    content:none !important;
    display:none !important;
}


/* ------------------------------------------------------------
   LIST TAB
   Internal 14px sheet curve.
   ------------------------------------------------------------ */

.noc-sheet-tab-list{
    z-index:2 !important;

    overflow:hidden !important;

    border-top:0 !important;

    border-left:
        1.5px solid #7f93a5 !important;

    border-right:
        1.5px solid #7f93a5 !important;

    border-top-left-radius:
        0 !important;

    border-top-right-radius:
        14px !important;

    border-bottom-right-radius:
        0 !important;

    border-bottom-left-radius:
        0 !important;
}


/* ------------------------------------------------------------
   DETAIL TAB
   Outer right edge belongs to the sheet.
   ------------------------------------------------------------ */

.noc-sheet-tab-detail{
    z-index:1 !important;

    overflow:hidden !important;

    border-top:0 !important;
    border-left:0 !important;
    border-right:0 !important;

    border-top-left-radius:
        0 !important;

    border-top-right-radius:
        10px !important;

    border-bottom-right-radius:
        0 !important;

    border-bottom-left-radius:
        0 !important;
}


/* ------------------------------------------------------------
   INACTIVE STATE
   ------------------------------------------------------------ */

.noc-sheet-tab:not(.is-active){
    background:
        #d4e3ee !important;

    color:
        #61788f !important;

    font-weight:
        600 !important;

    border-bottom:
        1.5px solid #7f93a5 !important;

    box-shadow:
        none !important;
}


/* ------------------------------------------------------------
   ACTIVE STATE
   Bottom is OPEN into workspace content.
   ------------------------------------------------------------ */

.noc-sheet-tab.is-active{
    background:
        #ffffff !important;

    color:
        #17263a !important;

    font-weight:
        700 !important;

    border-bottom-color:
        #ffffff !important;

    border-bottom-width:
        1.5px !important;

    border-bottom-style:
        solid !important;

    box-shadow:
        inset 0 3px 0 #16a6d9 !important;
}


/* ------------------------------------------------------------
   HEADER BACKING SURFACE
   ------------------------------------------------------------ */

.noc-sheet-workspace.list-active
.noc-sheet-header{
    background:
        #d4e3ee !important;
}

.noc-sheet-workspace.detail-active
.noc-sheet-header{
    background:
        #ffffff !important;
}


/* ------------------------------------------------------------
   CONTENT CONNECTS DIRECTLY TO ACTIVE TAB
   ------------------------------------------------------------ */

.noc-sheet-content{
    position:relative !important;

    margin-top:0 !important;

    border-top:0 !important;

    background:
        #f3f8fa !important;
}


/* ------------------------------------------------------------
   FINAL RIGHT EDGE
   ------------------------------------------------------------ */

.noc-sheet-tab:last-child{
    border-right:
        0 !important;

    border-top-right-radius:
        10px !important;
}


/* ------------------------------------------------------------
   DESKTOP AUTHORITY
   Do not change 78 / 11 / 11 on normal desktop widths.
   ------------------------------------------------------------ */

@media (min-width:901px){

    .noc-sheet-header{
        grid-template-columns:
            minmax(0,78fr)
            minmax(0,11fr)
            minmax(0,11fr) !important;
    }

}

/* ============================================================
   FINAL TWO-TAB 14px CURVE PAINT
   Mirrors Radius Production Final.

   Child 1 = title
   Child 2 = first tab  (Customer List)
   Child 3 = second tab (Customer)

   Second tab paints 14px underneath the curved right edge
   of the first tab.

   When second tab is active, cyan 3px accent continues
   across the complete 14px underlap.
   ============================================================ */


/* Allow the 14px underlap to paint outside the tab box. */
.noc-sheet-header > .noc-sheet-tab{
    position:relative !important;
    overflow:visible !important;
    isolation:isolate;
}


/* Surface used by the underlap. */
.noc-sheet-header > .noc-sheet-tab:not(.is-active){
    --smooth-tab-bg:#d4e3ee;
}

.noc-sheet-header > .noc-sheet-tab.is-active{
    --smooth-tab-bg:#ffffff;
}


/* ------------------------------------------------------------
   SECOND TAB UNDERLAP
   Customer tab paints 14px underneath Customer List curve.
   ------------------------------------------------------------ */

.noc-sheet-header > .noc-sheet-tab:nth-child(3)::before{
    content:"" !important;
    display:block !important;

    position:absolute !important;

    top:0 !important;
    bottom:0 !important;

    left:-14px !important;
    width:14px !important;

    background:
        var(--smooth-tab-bg) !important;

    pointer-events:none !important;
}


/* ------------------------------------------------------------
   ACTIVE SECOND TAB
   Continue cyan accent across the whole 14px underlap.
   ------------------------------------------------------------ */

.noc-sheet-header > .noc-sheet-tab.is-active:nth-child(3)::before{
    background:
        linear-gradient(
            to bottom,
            #16a6d9 0,
            #16a6d9 3px,
            #ffffff 3px,
            #ffffff 100%
        ) !important;
}


/* ============================================================
   FINAL SHEET TITLE TYPOGRAPHY / POSITION
   Mirrors Radius Production title block.

   Do not change tab geometry.
   ============================================================ */

.noc-sheet-title{
    box-sizing:border-box !important;

    height:58px !important;
    min-width:0 !important;

    display:grid !important;

    grid-template-columns:
        auto
        auto
        minmax(0,1fr) !important;

    grid-template-rows:
        25px
        16px !important;

    align-content:normal !important;

    padding:
        5px
        20px !important;

    background:#ffffff !important;

    border-bottom:
        1.5px solid #7f93a5 !important;
}


/* Main title */
.noc-sheet-title h1{
    grid-column:1 !important;
    grid-row:1 !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    color:#17263a !important;

    font-family:"Noto Sans Thai",sans-serif !important;
    font-size:20px !important;
    font-weight:700 !important;
    line-height:20px !important;

    letter-spacing:-0.4px !important;

    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}


/* Subtitle */
.noc-sheet-title p{
    grid-column:1 / 4 !important;
    grid-row:2 !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    color:#61788f !important;

    font-family:"Noto Sans Thai",sans-serif !important;
    font-size:11px !important;
    font-weight:400 !important;
    line-height:12.65px !important;

    letter-spacing:normal !important;

    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}


/* ============================================================
   FINAL TITLE BLOCK AUTHORITY
   Mirrors Radius Production final visual standard.

   IMPORTANT:
   - Keep Noto Sans Thai as AomTang V2 font authority.
   - Do not change sheet/tab geometry.
   ============================================================ */

.noc-sheet-title{
    box-sizing:border-box !important;

    height:58px !important;
    min-height:58px !important;
    min-width:0 !important;

    display:flex !important;
    flex-direction:column !important;

    align-items:flex-start !important;
    justify-content:center !important;

    padding:5px 20px !important;

    text-align:left !important;

    background:#ffffff !important;

    border-bottom:
        1.5px solid #7f93a5 !important;
}


/* Main title */
.noc-sheet-title > h1{
    grid-column:auto !important;
    grid-row:auto !important;

    align-self:flex-start !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;

    position:static !important;
    transform:none !important;

    color:#17263a !important;

    font-family:"Noto Sans Thai",sans-serif !important;
    font-size:20px !important;
    font-weight:700 !important;
    line-height:20px !important;

    letter-spacing:-0.4px !important;

    text-align:left !important;
}


/* Subtitle */
.noc-sheet-title > p{
    grid-column:auto !important;
    grid-row:auto !important;

    align-self:flex-start !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;

    position:static !important;
    transform:none !important;

    color:#61788f !important;

    font-family:"Noto Sans Thai",sans-serif !important;
    font-size:11px !important;
    font-weight:400 !important;
    line-height:12.65px !important;

    letter-spacing:normal !important;

    text-align:left !important;
}


/* ============================================================
   FINAL TITLE COPY VERTICAL ALIGNMENT

   Match Radius production:
   move title + subtitle down together by 8px.

   Do not alter header/tab geometry.
   ============================================================ */

.noc-sheet-title > h1,
.noc-sheet-title > p{
    transform:translateY(8px) !important;
}


/* ============================================================
   FINAL TITLE COPY VERTICAL ALIGNMENT

   Match Radius production:
   move title + subtitle down together by 8px.

   Do not alter header/tab geometry.
   ============================================================ */

.noc-sheet-title > h1,
.noc-sheet-title > p{
    transform:translateY(8px) !important;
}

