:root{
    font-family:Inter,"Microsoft JhengHei","PingFang TC",system-ui,sans-serif;
    color:#263248;
    background:#f0f2f7;
    font-size:16px;
    line-height:1.6
}

*{
    box-sizing:border-box
}

body{
    margin:0
}

a{
    color:#205bea;
    text-underline-offset:4px;
    overflow-wrap:anywhere
}

button,
input,
select{
    font:inherit
}

button,
a,
input,
summary,
select{
    touch-action:manipulation
}

button{
    cursor:pointer
}

button:disabled{
    opacity:.65;
    cursor:wait
}

h1,
h2,
p{
    margin-top:0
}

h1{
    font-size:2rem;
    line-height:1.3;
    letter-spacing:-.03em;
    margin-bottom:12px
}

h2{
    font-size:1.2rem;
    color:#194493;
    border-bottom:1px solid #edf0f5;
    padding-bottom:18px;
    margin-bottom:22px
}

.hero{
    background:linear-gradient(115deg,#1c4198,#245ff0);
    color:white;
    text-align:center;
    padding:44px 20px 60px
}

.hero h1{
    margin:9px 0 12px;
    overflow-wrap:anywhere
}

.hero p{
    letter-spacing:.15em;
    margin:0;
    color:#e4ecff
}

.eyebrow{
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.12em
}

.customer{
    max-width:600px;
    margin:64px auto;
    padding:0 22px
}

.customer.overlap{
    margin-top:-26px
}

.card{
    background:#fff;
    border:1px solid #e8ebf2;
    border-radius:22px;
    padding:28px;
    margin-bottom:22px;
    box-shadow:0 4px 12px #20356104
}

dl{
    margin:0
}

dl div{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    background:#f7f8fa;
    padding:17px 20px;
    border-radius:12px;
    margin-top:12px
}

dt{
    color:#6b7685
}

dd{
    margin:0;
    font-weight:700;
    text-align:right;
    overflow-wrap:anywhere
}

/* 原藍色文字 */
.blue{
    color:#205bea
}

/* 異常訂單專用紅色 */
.order-danger{
    color:#e02424 !important;
    font-weight:800 !important
}

label{
    display:block;
    font-weight:650;
    margin-bottom:22px
}

label b{
    color:#d94545
}

input,
select{
    display:block;
    width:100%;
    padding:15px 17px;
    border:1px solid #d9dfe9;
    box-shadow:0 1px 2px #253b4e06;
    border-radius:12px;
    background:white;
    color:#263248;
    margin-top:9px;
    min-width:0
}

input::placeholder{
    color:#939dac
}

input:focus,
select:focus{
    outline:3px solid #dbe6ff;
    border-color:#205bea
}

.primary{
    display:inline-block;
    border:0;
    border-radius:13px;
    background:#205bea;
    color:#fff;
    text-align:center;
    padding:16px 25px;
    font-weight:750;
    text-decoration:none;
    box-shadow:0 5px 14px #205bea20
}

.primary:hover{
    background:#164bcb
}

.full{
    width:100%;
    font-size:1.2rem;
    letter-spacing:.08em
}

.check{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-weight:400;
    font-size:.875rem;
    color:#667185;
    margin-bottom:0
}

.check input{
    width:18px;
    height:18px;
    flex-shrink:0;
    margin-top:4px;
    accent-color:#205bea
}

.note{
    font-size:.875rem;
    color:#7a8495;
    line-height:1.8;
    margin-top:22px
}

.customer form>.note{
    text-align:center
}

.error{
    padding:14px;
    background:#fff0f0;
    color:#b32232;
    border-radius:10px
}

.success{
    text-align:center;
    padding:45px 26px
}

.tick{
    display:grid;
    place-items:center;
    background:#e7f7ed;
    color:#189658;
    width:68px;
    height:68px;
    font-size:2rem;
    border-radius:50%;
    margin:0 auto 25px
}

nav{
    background:#fff;
    border-bottom:1px solid #e2e7ef;
    padding:18px max(24px,calc((100vw - 1160px)/2));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

nav span{
    font-weight:400;
    color:#7a8495;
    font-size:.875rem
}

.ghost{
    border:1px solid #dce3ee;
    border-radius:9px;
    background:white;
    color:#334362;
    padding:10px 16px;
    white-space:nowrap
}

.admin{
    max-width:1208px;
    padding:38px 24px;
    margin:auto
}

.heading{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px
}

.heading h1{
    margin-top:9px
}

.heading p{
    color:#7a8495
}

.metric{
    border-left:1px solid #d7deea;
    padding:4px 24px;
    height:85px
}

.metric strong{
    display:block;
    font-size:2rem;
    color:#205bea
}

.metric span{
    font-size:.875rem;
    color:#778195
}

.create{
    display:flex;
    align-items:end;
    gap:16px;
    flex-wrap:wrap
}

.create label{
    flex:1;
    min-width:180px;
    margin:0
}

.create .check{
    flex:0 0 70px;
    min-width:70px;
    align-self:center
}

.create button{
    margin-bottom:1px
}

.link-item{
    padding:22px 0;
    border-bottom:1px solid #edf0f5
}

.link-item:last-child{
    border-bottom:0;
    padding-bottom:0
}

.link-title{
    display:flex;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:12px
}

.link-title strong{
    font-size:1.1rem
}

.link-title>a{
    margin-left:auto
}

.badge{
    font-size:.8rem;
    color:#246448;
    background:#ecf6f0;
    border-radius:6px;
    padding:3px 8px
}

.copy-row{
    display:flex;
    align-items:center;
    gap:12px
}

.copy-row input{
    margin:0;
    background:#f6f8fc;
    font-size:.875rem
}

details{
    margin-top:16px
}

summary{
    cursor:pointer;
    color:#718097;
    font-size:.875rem
}

details form{
    padding-top:18px
}

.filter{
    display:flex;
    gap:12px;
    margin-bottom:20px
}

.filter select{
    max-width:400px;
    margin:0;
    padding:10px
}

.table-wrap{
    overflow:auto
}

table{
    width:100%;
    border-collapse:collapse;
    text-align:left;
    font-size:.875rem
}

th{
    color:#7a8495;
    background:#f6f8fb;
    font-weight:500
}

td,
th{
    padding:15px 14px;
    border-bottom:1px solid #edf0f5;
    white-space:nowrap
}

td:last-child{
    max-width:260px;
    white-space:normal;
    font-family:monospace
}

.pagination{
    display:flex;
    gap:22px;
    justify-content:center;
    margin-top:20px;
    color:#738097;
    font-size:.875rem
}

.staff-tag{
    font-size:.8rem;
    color:#5b4a13;
    background:#fff7d6;
    border:1px solid #f0df9c;
    border-radius:6px;
    padding:3px 8px;
    max-width:360px;
    overflow-wrap:anywhere
}

@media(max-width:640px){

    .hero{
        padding-top:36px
    }

    .customer{
        margin-top:35px;
        padding:0 16px
    }

    .card{
        padding:24px 20px;
        border-radius:20px
    }

    .hero h1{
        font-size:1.85rem
    }

    nav{
        padding:16px
    }

    nav span{
        display:none
    }

    .admin{
        padding:26px 16px
    }

    .heading p{
        font-size:.875rem
    }

    .metric{
        display:none
    }

    .create{
        display:block
    }

    .create label{
        margin-bottom:16px
    }

    .create button{
        width:100%
    }

    .create .check{
        margin:15px 0
    }

    .copy-row{
        flex-wrap:wrap
    }

    .copy-row input{
        flex-basis:100%
    }

    .link-title>a{
        margin-left:0
    }

    .heading h1{
        font-size:1.7rem
    }
}